PHP答题类应用接口实例

前端技术 2023/09/09 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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/25863

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。