涉及抢购、秒杀、抽奖、抢票等活动时,为了避免超卖,那么库存数量是有限的,但是如果同时下单人数超过了库存数量,就会导致商品超卖问题。那么我们怎么来解决这个问题呢,我的思路如下(伪代码):
sql1:查询商品库存
if(库存数量 > 0)
{
//生成订单...
sql2:同时库存-1
}
当没有并发时,上面的流程看起来是再正常不过了,假设同时两个人下单,而库存只有1个了,在sql1阶段两个人查询到的库存都是>0的...
PHP实现简单的计算方式
一、保留两位小数并且四舍五入
$num = 123213.666666;
echo sprintf("%.2f",$num).'<br/>';
二、保留两位小数并且不四舍五入
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -1));
三、进一法取整
echo ceil(4.1);
echo ceil(9.999);
四、舍去法,取整数
echo floor(4.3); // 4
echo floor(9.999); // 9
微信开发调试神器Socketlog的安装
这几天公司中有项目在开发微信,微信开发调试如果用打印信息的话会影响线上环境,这个时候必须推荐调试神器:Socketlog
官方地址:https://github.com/luofei614/SocketLog
废话不多说下面我们开始安装吧!
一、下载socketlog
git clone https://github.com/luofei614/SocketLog.git
二、安装谷歌插件
https://chrome.google.com/webstore/detail/socketlog/apkmbfpihjhongonfcgdagliaglghco...
PHP判断iPhone、iPad、Android设备的方法
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
$isIOS = (strpos($agent, 'iphone') || strpos($agent, 'ipad')) ? true : false;
if($isIOS)
{
$type = 'ios';
} else
{
$type = 'android';
}
phpstorm10.0.3破解版安装教程及汉化方法
介绍一款php的编辑神器phpStorm。phpstorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。不但是php开发的利器,前端开发也是毫不逊色的。
百度网盘下载地址:http://pan.baidu.com/s/1bkYxqQ 密码:6k1x
一、phpstorm10.0.3破解版安装方法
现在有个比较简单的注册方法.注册时选择 “License server” 输入 “ http://15.idea....
php实现文件下载
使用PHP实现文件下载,需要使用header头来指定下载文件类型,不知道下载文件类型可以使用application/octet-stream 二进制流方式来代替
<?php
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename=test.png');
header("Content-Length: " . filesize($file));
readfile($file);
?>
PHP数据类型转换
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
1、(int)、(integer):转换成整形
2、(float)、(double)、(real):转换成浮点型
3、(string):转换成字符串
4、(bool)、(boolean):转换成布尔类型
5、(array):转换成数组
6、(object):转换成对象
PHP数据类型有三种转换方式:
1、在要转换的变量之前加上用括号括起来的目标类型
2、使用3个具体类型的转换...
redirect_uri参数错误解决方法 微信公众平台开发
微信客户端访问时出现redirect_uri参数错误,如何解决呢?
thinkphp框架ajax返回问题
前天发布了自己写的博客系统YBlog的第一个版本,后台在上传图片的时候并没有使用Ajax请求,在更新下一个版本的时候打算使用上传ajax请求,但是thinkphp框架自带的ajaxReturn方法返回的并不是我所需要的json对象,看下图:
视图中的代码是这样的:
$("#upload").ajaxfileupload({
'action': '__CONTROLLER__/uploadAjax',
'params': {
'extra': 'info'
},
'onComplete': function(data) {
alert(data);
if...
解决一些启动mongo之后出现的一些警告问题
如何安装mongodb请参考前一篇文章《mongodb在Linux下的安装》
mongod服务启动之后,我们该启动客户端,./bin/mongo
这个时候其实已经启动成功了,但是会出现一些警告性的错误:
MongoDB shell version: 3.0.6
connecting to: test
Server has startup warnings:
2015-08-28T15:29:38.513+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recom...