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 删除cookie和浏览器重定向
Mar 16 PHP
php 获取远程网页内容的函数
Sep 08 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
PHP APC配置文件2套和参数详解
Jun 11 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
php注册登录系统简化版
Dec 28 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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二分法在IP地址查询中的应用
2008/08/12 PHP
php 接口类与抽象类的实际作用
2009/11/26 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
js实现tab切换效果
2017/02/16 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
vuex actions异步修改状态的实例详解
2019/11/06 Javascript
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python使用matplotlib绘制热图
2018/11/07 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
爱尔兰灯和灯具网上商店:Lights.ie
2018/03/26 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
Currentbody法国:健康与美容高科技产品
2020/08/16 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
医药学专业大学生职业生涯规划书论文
2014/01/21 职场文书
同学聚会策划方案
2014/06/06 职场文书
联片教研活动总结
2014/07/01 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
离婚协议书怎么写
2015/01/26 职场文书
个人借条范本
2015/05/25 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android