php+mysql的在线答题
寒假在公司实习做了一个小东西,用php实现一个在线答题的项目,用户的答题数用switch进行关联,一开始思考用ajax实现页面的自刷新,之后觉得太大材小用了,可以在当前页面做一个自循环,用js来进行计时,当时写完后发现整个逻辑还是存在一定的问题,js中的跳转和表单的操作是分离的导致判断正确题目时会少进行一次,最后只能采取用两个界面分别显示结果。希望在将来能够对此进行改进,下面贴上代码
connetvar.php
<?php // Define database connection constants define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'test'); ?>
index.php
<?php session_start();?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>问答</title> <script type="text/javascript"> window.onload=function(){ setInterval(function(){ var text=document.getElementById("text"); var value=text.value;//innerHTML if(value>0){ value-=1; text.value=value; }else{ location.href="show_js.php"; return false; } },1000); } </script> <?php require_once('connectvars.php'); $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); mysqli_set_charset($dbc,'utf8'); if(isset($_POST['index'])){ $index= $_POST['index']; $choice=$_POST['choice']; //check $arr = $_SESSION['arr']; //$arrconut = $_SESSION['conut($arr)']; $query = "SELECT * FROM question where id=$arr[$index]"; $results = mysqli_query($dbc, $query); $row = mysqli_fetch_row($results); $answer=$row['5']; $_SESSION['index'] = $index; if ($choice == $answer) { echo"<script type='text/javascript'>alert('答对了,下一题');";//location='index1.php'; } else { echo"<script type="'text/javascript'">alert('你答错了,游戏结束');location='show.php';</script>"; } if($index == count($arr)-1) { $index=$index+1; $_SESSION['index'] = $index; echo"<script type="'text/javascript'">alert('题都给你答完了');location='show.php';</script>";exit; } else { $index++; //var_dump($index); //var_dump($_SESSION['index']); //var_dump(count($arr)); } } else { $arr = range(1, 5); shuffle($arr); $_SESSION['arr'] = $arr; $index = 0; } ?> <?php $query = "SELECT * FROM question where id=$arr[$index]"; $results = mysqli_query($dbc, $query); $row = mysqli_fetch_row($results); ?>
show.php
<?php session_start();?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Guitar Wars - High Scores</title> <link rel="stylesheet" type="text/css" href="style.css"> <?php $id = $_SESSION['index'] ; echo '你一共答对了'.$id.'题'; //var_dump($id); switch ($id) { case 0 : echo '你的折扣为9.5折';//用户自行修改case和相应的折扣参数 break; case 1 : echo '你的折扣为9折'; break; case 2 : echo '你的折扣为8.5折'; break; case 3 : echo '你的折扣为8折'; break; case 4 : echo '你的折扣为7.5折'; break; case 5 : echo '你的折扣为7折'; break; } ?> <hr> <?php unset($_SESSION['index']); ?>
show_js.php
<?php session_start();?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Guitar Wars - High Scores</title> <link rel="stylesheet" type="text/css" href="style.css"> <?php $id = $_SESSION['index']+1 ; echo '你一共答对了'.$id.'题'; //var_dump($id); switch ($id) { case 0 : echo '你的折扣为9.5折';//用户自行修改case和相应的参数 break; case 1 : echo '你的折扣为9折'; break; case 2 : echo '你的折扣为8.5折'; break; case 3 : echo '你的折扣为8折'; break; case 4 : echo '你的折扣为7.5折'; break; case 5 : echo '你的折扣为7折'; break; } ?> <hr> <?php unset($_SESSION['index']); ?>
以上就介绍了php+mysql的在线答题,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

index.html代表网页的首页文件,是网站的默认页面。当用户访问一个网站时,通常会首先加载index.html页面。HTML(HypertextMarkupLanguage)是一种用于创建网页的标记语言,index.html也是一种HTML文件。它包含网页的结构和内容,以及用于格式化和布局的标签和元素。下面是一个示例的index.html代码:<

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

watch4pro和gt各自具有不用的特点和适用场景,如果注重功能的全面性、高性能和时尚外观,同时愿意承担较高的价格,那么Watch 4 Pro可能更适合。如果对功能要求不高,更注重电池续航和价格的合理性,那么GT系列可能更适合。最终的选择应根据个人需求、预算和喜好来决定,建议在购买前仔细考虑自己的需求,并参考各种产品的评测和比较,以做出更明智的选择。

PHP源码运行问题:index报错解决方法,需要具体代码示例PHP是一种广泛使用的服务器端脚本语言,经常被用于开发动态网站和Web应用程序。然而,有时候在运行PHP源码时会遇到各种问题,其中“index报错”是比较常见的一种情况。本文将介绍一些常见的index报错原因以及解决方法,并提供具体的代码示例,帮助读者更好地处理这类问题。问题描述:在运行PHP程序时

MySQL中的index是索引的意思,是一种数据结构,用于加快数据库表的查询速度,索引可以类比于书籍的目录,存储了表中特定列的值和对应的行位置,使得数据库能够更快地定位和访问数据。索引的作用是提高查询效率,在没有索引的情况下,数据库需要逐行扫描整个表来找到匹配的数据,这种方式在大型表中会非常耗时,而有了索引后,数据库可以根据索引的顺序快速定位到所需的数据行,大大提高了查询速度。
