本文实例为大家分享了php微信公众号秒杀功能的具体代码微信公众号开发 ,供大家参考,具体内容如下
数据库小知识点:
strtotime:将字符串转换成时间
time():时间函数微信公众号开发 ,调用系统当前时间
核心代码:
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj-FromUserName; $toUsername = $postObj-ToUserName; $keyword = trim($postObj-Content); $time = time(); $textTpl = "xml ToUserName[CDATA[%s]]/ToUserName FromUserName[CDATA[%s]]/FromUserName CreateTime%s/CreateTime MsgType[CDATA[%s]]/MsgType Content[CDATA[%s]]/Content FuncFlag0/FuncFlag /xml"; if($keyword=="秒杀") { //用 户 名 : $user //密 码 : $pwd //主库域名 : $host //从库域名 : SAE_MYSQL_HOST_S //端 口 : $port //数据库名 : $dbname $dbname = "_dq095"; $host = "w.rdc.sae.sina.com.cn"; $port = "3306"; $user = "4k514n103z"; $pwd = "密码"; /*接着调用mysql_connect()连接服务器*/ // 连主库 $db = mysql_connect($host,$user,$pwd); if(!$db){ die("Connect Server Failed: " . mysql_error($db)); } /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/ if (!mysql_select_db($dbname)) { die("Select Database Failed: " . mysql_error($db)); } mysql_query("set names utf-8",$db); /*至此连接已完全建立微信公众号开发 ,就可对当前数据库进行相应的操作了*/ /*!注意,无法再通过本次连接调用mysql_select_db来切换到其它数据库了!*/ /* 需要再连接其它数据库,请再使用mysql_connect+mysql_select_db启动另一个连接*/ /** * 接下来就可以使用其它标准php mysql函数操作进行数据库操作 */ $msgType = "text"; $shijian=strtotime("2018-08-23 23:00:00")-time(); if($shijian0) { $contentStr = "对不起,秒杀还没开始,2018年8月23日23点开始"; }else{ $sql="SELECT * FROM `welcome`WHERE `user`= '" . iconv("UTF-8","GBK",$fromUsername) . "'"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); $b= $rs['user']; $c=iconv("GBK","UTF-8",$b); if ($c==$fromUsername) { $contentStr = "你已经秒杀过了!"; }else{ $sql="SELECT `num` FROM `shuzi` WHERE 1"; $query=mysql_query($sql); $rs=mysql_fetch_array($query); $b= $rs['num']; if ($b0) { $contentStr = "恭喜你秒杀成功,凭此条微信到本店10元换取礼品"; $b--; $sql="UPDATE `shuzi` SET `num`={$b} WHERE 1"; mysql_query($sql); }else{ $contentStr = "很遗憾,你没有秒杀成功,下次再来吧!"; } $sqluser="INSERT INTO `welcome`(`id`,`user`) VALUES (NULL,'{$fromUsername}')"; mysql_query($sqluser); } } $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; mysql_close($db); }else{ echo "Input something."; }数据库代码如下:
-- phpMyAdmin SQL Dump-- version 3.3.8.1-- ht://代码如下:
?php/** * wechat php test *///define your tokendefine("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest();$wechatObj-responseMsg();class wechatCallbackapiTest{ public function valid() { $echoStr = $_GET["echostr"]; //valid signature , option if($this-checkSignature()){ echo $echoStr; exit; } } public function responseMsg() { //get post data, May be due to the different environments $postStr = $GLOBALS["; } }}?