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自定义函数返回多个值
Nov 26 PHP
php 生成文字png图片的代码
Apr 17 PHP
谷歌音乐搜索栏的提示功能php修正代码
May 09 PHP
第五章 php数组操作
Dec 30 PHP
用穿越火线快速入门php面向对象
Feb 22 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 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
本地计算机无法启动Apache故障处理
2014/08/08 PHP
php构造函数与析构函数
2016/04/23 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
jQuery News Ticker 基于jQuery的即时新闻行情展示插件
2011/11/05 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
js中new一个对象的过程
2017/02/20 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
js实现烟花特效
2020/03/02 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python3抓取中文网页的方法
2015/07/28 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
QML用PathView实现轮播图
2020/06/03 Python
python如何导入依赖包
2020/07/13 Python
信息管理专业学生自荐信格式
2013/09/22 职场文书
大四毕业生学习总结的自我评价
2013/10/31 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
超市创业计划书
2014/04/24 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
python区块链持久化和命令行接口实现简版
2022/05/25 Python