Ich habe während meines Praktikums in der Firma in den Winterferien eine kleine Sache gemacht, um ein Online-Frage-Antwort-Projekt zu implementieren. Zuerst dachte ich darüber nach, Ajax zu verwenden Später habe ich das Gefühl, dass die Seite zu groß und überqualifiziert ist und js für das Timing verwendet. Ich habe festgestellt, dass es insgesamt immer noch Probleme gibt Die Sprung- und Formoperationen in js sind getrennt, was bedeutet, dass die richtige Frage nur einmal weniger beurteilt wird. Es ist nur möglich, zwei Schnittstellen zu verwenden, um die Ergebnisse separat anzuzeigen. Ich hoffe, dass dies in Zukunft verbessert werden kann. Fügen Sie den folgenden Code ein:
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();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>问答</title> </head> <body> <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('答对了,下一题');</script>";//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); ?> <form method="post" action="index.php"> <?php echo $index+1 ?> <?php echo $row['0']?><br /> <input type="radio" name="choice" value="A" />A.<?php echo $row['1']?><br /> <input type="radio" name="choice" value="B" />B.<?php echo $row['2']?><br /> <input type="radio" name="choice" value="C" />C.<?php echo $row['3']?><br /> <input type="radio" name="choice" value="D" />D.<?php echo $row['4']?><br /> <input type="submit" value="决定是你了" /> <input type="reset" value="让我再想想" /> <input type="hidden" name="index" value="<?php echo $index ?>" /><br /> 您还有<input type="text" name="clock" size="2" value="10" id="text" />秒的答题时间 </form> </body> </html>
show.php
<?php session_start();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <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" /> </head> <body> <?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 /> </body> </html> <?php unset($_SESSION['index']); ?>
show_js.php
<?php session_start();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <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" /> </head> <body> <?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 /> </body> </html> <?php unset($_SESSION['index']); ?>
Das Obige stellt die Online-Antwort von PHP MySQL vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.