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 db类库进行数据库操作
Mar 19 PHP
解析PHP提交后跳转
Jun 23 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
2014最热门的24个php类库汇总
Dec 18 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
PHP count_chars()函数讲解
Feb 14 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 PHP
调试php程序的简单步骤
Oct 04 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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
相对路径转化成绝对路径
2007/04/10 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
JS解密入门 最终变量劫持
2008/06/25 Javascript
用JavaScript显示随机图像或引用
2009/04/21 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
node.js中的console用法总结
2014/12/15 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
微信小程序实现皮肤功能(夜间模式)
2017/06/18 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
2019/07/06 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
npm全局环境变量配置详解
2020/12/15 Javascript
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
pymysql模块的操作实例
2019/12/17 Python
python实现图像拼接功能
2020/03/23 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
肯尼迪就职演说稿
2013/12/31 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
中学生英语演讲稿
2014/04/26 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
毕业生见习报告总结
2014/11/08 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
nginx优化的六点方法
2021/03/31 Servers
vue实现简易音乐播放器
2022/08/14 Vue.js