PHP答题类应用接口实例


Posted in PHP onFebruary 09, 2015

本文实例讲述了PHP答题类应用接口的实现方法。分享给大家供大家参考。具体实现方法如下:

question_get.php文件如下:

<?php  

session_cache_expire(60);  

session_start();  

if(!isset($_SESSION['zaszh_user_id'])){  

    echo json_encode(array('status'=>'error','msg'=>'连接超时,请重新打开页面。'));  

    exit;  

}  

$user_id = $_SESSION['zaszh_user_id'];  

  

// $user_id = 1; // 测试用  

  

// 随机获取5道问题  

$question_id = array();  

while(sizeof($question_id)<5){  

    $num_rand = mt_rand(1,114);  

    if(!in_array($num_rand, $question_id))  

        $question_id[] = $num_rand;  

}  

  

require('connect_database.php');  

// 答题次数  

$mysqli->query("update zaszh_user set answer_surplus=answer_surplus-1 where id={$user_id} and answer_surplus>0");  

if($mysqli->affected_rows){  

    // 有剩余次数  

}else{  

    // 无剩余次数  

    echo json_encode(array('status'=>'error','msg'=>'今日答题剩余次数已用完,明天再来哦~'));  

    $mysqli->close();  

    exit;  

}  

// 题目  

if($stmt = $mysqli->prepare("select question,A,B,C,D,answer from zaszh_question where id in(?,?,?,?,?)")){  

    $stmt->bind_param('iiiii',$question_id[0],$question_id[1],$question_id[2],$question_id[3],$question_id[4]);  

    $stmt->execute();  

    $stmt->bind_result($question,$A,$B,$C,$D,$answer);  

    $rows = array();  

    while($stmt->fetch()){  

        $rows[] = array(  

            'question'=>$question,  

            'A'=>$A,  

            'B'=>$B,  

            'C'=>$C,  

            'D'=>$D,  

            'answer'=>$answer  

        );  

    }  

    // 答题记录  

    if($stmt = $mysqli->prepare("insert into zaszh_answer(user_id,question1,question2,question3,question4,question5,create_date) values(?,?,?,?,?,?,unix_timestamp(now()))")){  

        $stmt->bind_param('iiiiii',$user_id,$question_id[0],$question_id[1],$question_id[2],$question_id[3],$question_id[4]);  

        $stmt->execute();  

        if($answer_id = $stmt->insert_id){  

            $param = array(  

                'answer_id'=>$answer_id  

            );  

            echo json_encode(array_merge($rows,$param));  

        }else{  

            echo json_encode(array('status'=>'error','msg'=>'系统出错。'));  

        }  

    }  

    $stmt->close();  

}  

$mysqli->close();

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
Php做的端口嗅探器--可以指定网站和端口
Oct 09 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
Dec 25 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
May 24 PHP
PHP代码加密的方法总结
Mar 13 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 #PHP
php构造函数的继承方法
Feb 09 #PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 #PHP
php抽象类使用要点与注意事项分析
Feb 09 #PHP
PHP中的socket_read和socket_recv区别详解
Feb 09 #PHP
支持png透明图片的php生成缩略图类分享
Feb 08 #PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 #PHP
You might like
php读取EXCEL文件 php excelreader读取excel文件
2012/12/06 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
Python中使用ElementTree解析XML示例
2015/06/02 Python
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
2018/07/06 Python
python3实现名片管理系统
2020/11/29 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
办公室人员先进事迹
2014/01/27 职场文书
美容院考勤制度
2014/01/30 职场文书
cf战队收人口号
2014/06/21 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
采购员工作总结范文
2015/08/12 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis
服务器nginx权限被拒绝解决案例
2022/09/23 Servers