PHP答题类应用接口实例

yipeiwu_com6年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

CURL的学习和应用(附多线程实现)

CURL的学习和应用(附多线程实现)

curl安装:windows下面的安装:修改php.ini文件的设置,找到php_curl.dll//取消下在的注释extension=php_curl.dll linux下面安装:复制...

redirect_uri参数错误的解决方法(必看)

redirect_uri参数错误的解决方法(必看)

今天做微信开发时候出现了redirect uri 参数错误。百度了一下。原来是Oauth授权域名没有填写 再授权域名中,填写自己用到的域名即可。   以上这篇redirect...

详解:——如何将图片储存在数据库里

如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。...

php实现xml与json之间的相互转换功能实例

本文实例讲述了php实现xml与json之间的相互转换功能。分享给大家供大家参考,具体如下: 用php实现xml与json之间的相互转换: 相关函数请查看php手册。 一、参考xml如下...

phpmail类发送邮件函数代码

有了phpmail这个类,你就不用愁了。这是个外国人写的一个类,我们就只管“拿来主义”了。下面是基于这个类里面的send()方法写的一个函数: 复制代码 代码如下: function s...