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性能优化准备篇图解PEAR安装
Dec 05 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
php中如何防止表单的重复提交
Aug 02 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
laravel5表单唯一验证的实例代码
Sep 30 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
Feb 11 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP 8新特性简介
Aug 18 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项目中比较通用的php自建函数的详解
2013/06/06 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
2018/03/19 Python
python使用Matplotlib画饼图
2018/09/25 Python
pywinauto自动化操作记事本
2019/08/26 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
Python内置函数property()如何使用
2020/09/01 Python
Django视图类型总结
2021/02/17 Python
CSS3中Transition动画属性用法详解
2016/07/04 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
幼儿园园长自我鉴定
2013/10/22 职场文书
保险专业大专生求职信
2013/10/26 职场文书
市场开发与营销专业求职信
2013/12/31 职场文书
初三班主任寄语大全
2014/04/04 职场文书
增员口号大全
2014/06/18 职场文书
介绍长城的导游词
2015/01/30 职场文书
财务稽核岗位职责
2015/04/13 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书