Heim >php教程 >php手册 >PHP答题类应用接口实例

PHP答题类应用接口实例

WBOY
WBOYOriginal
2016-06-06 20:10:441171Durchsuche

这篇文章主要介绍了PHP答题类应用接口,以实例形式详细分析了答题类程序的实现思路与相关技巧,并备有较为详尽的注释说明,便于理解,需要的朋友可以参考下

本文实例讲述了PHP答题类应用接口的实现方法。分享给大家供大家参考。具体实现方法如下:

question_get.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)     $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程序设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn