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

(0)

相关推荐

  • jQuery实现的在线答题功能

    有时在网页中要加入一个在线测试功能,例如在线调查,在线测试各类知识等应用,这类应用需要用到很多前后端技能.今天我给大家分享一个基于jQuery的前端应用--测试答题功能. HTML 首先载入jquery库文件和quiz.js以及所需的CSS样式文件styles.css. <script src="jquery.js"></script> <script src="quiz.js"></script> <link

  • PHP+jquery实时显示网站在线人数的方法

    本文实例讲述了PHP+jquery实时显示网站在线人数的方法.分享给大家供大家参考.具体分析如下: 在线人数最简单的就是直接利用js调用php,这样可以显示出有多少人访问了本站,如果要在用户未刷新页面的状态实时显示用户在线人数,我们可以利用jquery ajax来实现. 我们在一些应用中需要动态展示数据,比如当前在线人数,当前交易总额,当前汇率等等,前端页面需要实时刷新获取最新数据.这里我们将结合实例给大家介绍使用jQuery和PHP来实现动态数字展示效果. 本例假设要在页面上动态展示(无需刷新

  • Java程序员的10道常见的XML面试问答题(XML术语详解)

    XML面试问题包括用于转换XML文件的XSLT技术,XPATH,XQuery等各种XML技术和XML基础知识,比如DTD或者Schema. 本文将看到10道常见的XML面试问答题.这些问题大部分在Java面试中会问到,同时在C,C++,Scala或其他语言的编程面试中同样很有用处.XML并不依赖于其他编程语言,同SQL一样是编程人员所需要的技能之一,因此在任何技术工作面试之前准备一些XML问题是很有意义的. XML面试问答 下面是我列出的关于XML技术经常会问到的面试题.这些问题并不很难但涵盖了

  • JQuery 在线引用及测试引用是否成功

    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <script src="http://code.jquery.com/jquery-latest.js"></scr

  • jquery.qrcode在线生成二维码使用示例

    最近在做一个二维码的项目,所以在随便看的时候发现这个感觉挺不错的.jquery除了它自己非常出色的js功能之外还附带有数不清的插件,可以完成各种美好的效果和功能.jquery.qrcode就是其中一个,用来在线生成二维码. qrcode插件在github上开源的地址在https://github.com/jeromeetienne/jquery-qrcode 它的后面附带有使用说明,只有简单的四步,非常方便的调用. 插件是外国人写的,所以在开始使用的时候不能识别中文内容的二维码,因为jquery

  • jquery实现漂浮在网页右侧的qq在线客服插件示例

    很实用的一款QQ在线客服代码,点击QQ图标,可直接与客服对话.具体实现代码如下: html页面: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xht

  • 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'=>'连接超时,请重新打开页面.'));     

  • Java枚举类接口实例原理解析

    这篇文章主要介绍了Java枚举类接口实例原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 枚举类可以实现一个或多个接口.与普通类实现接口完全一样,枚举类实现接口时,需要实现该接口所包含的方法. 如果需要每个枚举值在调用同一个方法时呈现不同的行为,则可以让每个枚举值在{...}匿名块中实现自己的业务逻辑. public interface IGradeHandler { String getGrade(String studentName)

  • 使用MUI框架构建App请求http接口实例代码

    简介 最近在看Dcloud的MUI框架,MUI封装了android.ios等多个平台的原生接口,达到开发一个项目,采取不同打包方式,生产多种平台的app. 无可厚非,对于从事java web开发的工程师,带来了极大的福音,再也不用去花太多时间去学习原生的android.ios语言,大大缩短了app开发的学习周期和成本. 当然,既然是做了封装处理,肯定性能上面不如原生.但是Dcloud官方声称MUI是最接近原生App体验的前端框架,并且在一些低端机上的表现也比较理想,想必也做了不少优化处理,另一方

  • Java 8 Function函数式接口及函数式接口实例

    函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口. 函数式接口可以被隐式转换为lambda表达式. 函数式接口可以现有的函数友好地支持 lambda. 介绍 函数式接口其实就是一个抽象接口类,在Java 8之前已有的函数式接口有以下. java.lang.Runnable java.util.concurrent.Callable java.util.Comparator 等等... 使用方法 其实上述所说的接口类只需要使用Fun

  • Hibernate核心类和接口的详细介绍

    一.hiobernate核心类和接口预览图 二.hibernate.properties 这个文件是以前老版本使用的 类似于hibernate.cfg.xml文件:作用和hibernate.cfg.xml一致. 三.hibernate.cfg.xml  (1)详细介绍 ①该文件主要用于指定各个参数,是hibernate核心文件 ②默认放在src目录下,也可以放在别的目录下. ③指定连接数据库的驱动.用户名.密码.url.连接池.. ④指定对象关系映射文件的位置. ⑤也可使用hibernate.p

  • Java定义泛型接口和类的方法实例分析

    本文实例讲述了Java定义泛型接口和类的方法.分享给大家供大家参考,具体如下: 一 点睛 所谓泛型:就是允许在定义类.接口指定类型形参,这个类型形参在将在声明变量.创建对象时确定(即传入实际的类型参数,也可称为类型实参). JDK1.5改写了集合框架中的全部接口和类,为这些接口.类增加了泛型支持,从而可以在声明集合变量.创建集合对象时传入类型实参. 二 实战 1 代码 // 定义Apple类时使用了泛型声明 public class Apple<T> { // 使用T类型形参定义实例变量 pr

  • Java文件与类动手动脑实例详解

    动手动脑1: 使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件. package classJava; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.FileVisitOption; import java.nio.file.FileVisitResult; import java.nio.file.FileVisitor; im

  • zookeeper python接口实例详解

    本文主要讲python支持zookeeper的接口库安装和使用.zk的python接口库有zkpython,还有kazoo,下面是zkpython,是基于zk的C库的python接口. zkpython安装 前提是zookeeper安装包已经在/usr/local/zookeeper下 cd /usr/local/zookeeper/src/c ./configure make make install wget --no-check-certificate http://pypi.python

  • python 链接sqlserver 写接口实例

    我是使用pymssql完成的sqlserver,首先下载符合版本的pymssql的whl,然后安装,在pycharm的default setting->project Interpreter中确定项目的Interpreter有pymssql,然后就开始了~ ` # -*- coding:utf-8 -*- import hashlib import hmac import json import pymssql from requests import Response from rest_fr

  • java多线程加锁以及Condition类的使用实例解析

    这篇文章主要介绍了java多线程加锁以及Condition类的使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 看了网上非常多的运行代码,很多都是重复的再说一件事,可能对于java老鸟来说,理解java的多线程是非常容易的事情,但是对于我这样的菜鸟来说,这个实在有点难,可能是我太菜了,网上重复的陈述对于我理解这个问题一点帮助都没有.所以这里我写下我对于这个问题的理解,目的是为了防止我忘记. 还是从代码实例开始讲起: 代码 import

随机推荐