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 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
require(),include(),require_once()和include_once()区别
Mar 27 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
php实现rc4加密算法代码
Apr 25 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
mac下安装nginx和php
Nov 04 PHP
destoon利用Rewrite规则设置网站安全
Jun 21 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
Yii实现Command任务处理的方法详解
Jul 14 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 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中,文件上传
2006/12/06 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
jQuery事件详解
2017/02/23 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
深入理解Vue2.x的虚拟DOM diff原理
2017/09/27 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
11行JS代码制作二维码生成功能
2018/03/09 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
JS面向对象之多选框实现
2020/01/17 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python实现车牌识别的示例代码
2019/08/05 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
文明之星事迹材料
2014/05/09 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
出纳试用期自我鉴定范文
2014/09/16 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
商务宴会祝酒词
2015/08/11 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS