In diesem Artikel wird hauptsächlich PHP + MySQL vorgestellt, um die einfachste Online-Fragenbank und ein Online-Fragenerstellungssystem zu entwickeln, das einen gewissen Referenzwert hat. Jetzt kann ich es mit allen teilen, die es brauchen
Die Fragenbank ist für Bildungseinrichtungen, Schulen und Online-Bildung sehr wichtig. Es gibt auch viele Online-Fragenbanksysteme von Drittanbietern. In diesem Fall können Bedürftige jedoch die Entwicklungsideen der Fragenbank verstehen. Es ist eigentlich sehr einfach, nichts weiter als eine Formularvalidierung, eine Datenbankvalidierung.
1. Erstellen Sie zuerst die Formulardaten
2. Senden Sie die Formulardaten über „Get“ oder „Post“ und gleichen Sie sie mit der Datenbank ab
3 das Ergebnis, antworten Sie mit Richtig oder Falsch
Erstellen Sie das Formular:
index.php
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <title>题库</title> <style type="text/css"> *{list-style: none;margin:0px;padding: 0px;} #tiku{ width: 300px; margin:10px auto; } #tiku ul li{ float: left; } </style> </head> <body> <?php //获取数据库配置 require_once("config.php"); //连接数据库 $con = mysql_connect($host,$username,$password); //设置数据库字符集 mysql_query("SET NAMES UTF8"); //查询数据库 mysql_select_db($db, $con); //查询数据库 //获取最新的1条数据 $all = mysql_num_rows(mysql_query("select * from $tb")); //定义分页所需的参数 $lenght=1; //每页显示的数量 @$page=$_GET['page']?$_GET['page']:1; //当前页 $offset=($page-1)*$lenght; //每页起始行编号 $allpage=ceil($all/$lenght); //所有的页数-总数页 $prepage=$page-1; //上一页 if($page==1){ $prepage=1; //特殊的是当前页是1时上一页就是1 } $nextpage=$page+1; if($page==$allpage){ $nextpage=$allpage; //特殊的是最后页是总数页时下一页就是总数页 } $sql="select * from $tb order by id ASC limit {$offset},{$lenght}"; $rest=mysql_query($sql); while($row = mysql_fetch_assoc($rest)) { $id = $row["id"]; $title = $row["title"]; $A = $row["answer_A"]; $B = $row["answer_B"]; $C = $row["answer_C"]; $D = $row["answer_D"]; $true = $row["true"]; $score = $row["score"]; } ?> <p id="tiku"> <form action="check.php" method="get"> <p><?php echo $title;?></p> <input type="radio" name="xuanxiang" value="<?php echo $A;?>">A:<?php echo $A;?><br> <input type="radio" name="xuanxiang" value="<?php echo $B;?>">B:<?php echo $B;?><br> <input type="radio" name="xuanxiang" value="<?php echo $C;?>">C:<?php echo $C;?><br> <input type="radio" name="xuanxiang" value="<?php echo $D;?>">D:<?php echo $D;?><br><br> <input type="hidden" name="id" value="<?php echo $id;?>"> <button>提交</button> </form> </p> <br/> <?php echo "<p id='tiku'>"; echo "<ul>"; echo "<li><a href='next.php?page=$prepage'>上一题</a></li>"; echo "<li><a href='next.php?page=$nextpage'>下一题</a></li>"; echo "</ul>"; echo "<p>"; echo "<br/>"; echo "<p class='fenye_tips'>共".$allpage."道题,当前是第".$page."题</p>"; echo "<br/><br/>"; echo "</p>"; ?> </body> </html>
Formular Empfangen
check.php
<?php header("Content-type:text/html;charset=utf-8"); //获取数据库配置 require_once("config.php"); //连接数据库 $con = mysql_connect($host,$username,$password); //设置数据库字符集 mysql_query("SET NAMES UTF8"); //查询数据库 mysql_select_db($db, $con); //获取数据 $xuanxiang = $_GET["xuanxiang"]; $id = $_GET["id"]; if (empty($xuanxiang)) { echo "<script>alert('请选择一个答案!');history.go(-1);</script>"; }else{ //查询数据库 $result = mysql_query("SELECT * FROM $tb WHERE id =".$id); while($row = mysql_fetch_array($result)) { $true = $row["true"]; $next_id = $id+1; if($xuanxiang == $true){ echo "<script>alert('正确!得5分!');location.href='next.php?page=$next_id';</script>"; }else{ echo "<script>alert('错了!扣5分!');history.go(-1);</script>"; } } } ?>
Datenbankkonfiguration
config.php
<?php //配置文件 - BY TANKING $host="数据库地址"; $username="账号"; $password="密码"; $db="数据库名"; $tb = "表名"; ?>
next.php
Nächste Frage
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <title>题库</title> <style type="text/css"> *{list-style: none;margin:0px;padding: 0px;} #tiku{ width: 300px; margin:10px auto; } #tiku ul li{ float: left; } </style> </head> <body> <?php //获取数据库配置 require_once("config.php"); //连接数据库 $con = mysql_connect($host,$username,$password); //设置数据库字符集 mysql_query("SET NAMES UTF8"); //查询数据库 mysql_select_db($db, $con); //查询数据库 //获取最新的1条数据 $all = mysql_num_rows(mysql_query("select * from $tb")); //定义分页所需的参数 $lenght=1; //每页显示的数量 @$page=$_GET['page']?$_GET['page']:1; //当前页 $offset=($page-1)*$lenght; //每页起始行编号 $allpage=ceil($all/$lenght); //所有的页数-总数页 $prepage=$page-1; //上一页 if($page==1){ $prepage=1; //特殊的是当前页是1时上一页就是1 } $nextpage=$page+1; if($page==$allpage){ $nextpage=$allpage; //特殊的是最后页是总数页时下一页就是总数页 } $sql="select * from $tb order by id ASC limit {$offset},{$lenght}"; $rest=mysql_query($sql); while($row = mysql_fetch_assoc($rest)) { $id = $row["id"]; $title = $row["title"]; $A = $row["answer_A"]; $B = $row["answer_B"]; $C = $row["answer_C"]; $D = $row["answer_D"]; $true = $row["true"]; $score = $row["score"]; } ?> <p id="tiku"> <form action="check.php" method="get"> <p><?php echo $title;?></p> <input type="radio" name="xuanxiang" value="<?php echo $A;?>">A:<?php echo $A;?><br> <input type="radio" name="xuanxiang" value="<?php echo $B;?>">B:<?php echo $B;?><br> <input type="radio" name="xuanxiang" value="<?php echo $C;?>">C:<?php echo $C;?><br> <input type="radio" name="xuanxiang" value="<?php echo $D;?>">D:<?php echo $D;?><br><br> <input type="hidden" name="id" value="<?php echo $id;?>"> <button>提交</button> </form> </p> <br/> <?php echo "<p id='tiku'>"; echo "<ul>"; echo "<li><a href='next.php?page=$prepage'>上一题</a></li>"; echo "<li><a href='next.php?page=$nextpage'>下一题</a></li>"; echo "</ul>"; echo "<p>"; echo "<br/>"; echo "<p class='fenye_tips'>共".$allpage."道题,当前是第".$page."题</p>"; echo "<br/><br/>"; echo "</p>"; ?> </body> </html>
Datenbankstruktur
Titel --------Titel
Antwort_A -----Antwort A
Antwort_B -----Antwort B
Antwort_C -----Antwort C
answer_D -- ---Antwort D
wahr ---------Richtige Antwort
Punktzahl --------Punktzahl
Verwandte Empfehlungen:
php+mysql realisiert eine einfache Webseite für Anmeldung, Registrierung und Passwortänderung
Das obige ist der detaillierte Inhalt vonPHP+MySQL entwickelt die einfachste Online-Fragenbank und das einfachste Online-Fragenerstellungssystem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!