加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP答题类应用接口实例

发布时间:2020-12-13 02:24:16 所属栏目:PHP教程 来源:网络整理
导读:《:PHP答题类应用接口实例》要点: 本文介绍了:PHP答题类应用接口实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP答题类应用接口的实现办法.供大家参考研究.具体实现办法如下: PHP编程 question_get.php文件如下: PHP编程 代码

《:PHP答题类应用接口实例》要点:
本文介绍了:PHP答题类应用接口实例,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解PHP答题类应用接口的实现办法.分享给大家供大家参考.具体实现办法如下:PHP编程

question_get.php文件如下:
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[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答题类应用接口实例》是否对您有启发,欢迎查看更多与《:PHP答题类应用接口实例》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读