① php隨機的20個單選題,多選題和判斷題如何獲取答題者的答案
題目隨機抽取,在表單里記錄題目的id號,比如 input 的name 是qu_34,就表示題目id是34,php就可以通過對post的下標的獲取,得出題目id為34,和資料庫對比,得到答案是否正確
② 用PHP編寫一道單選題
<?php
$flag=0;
if(isset($_POST['answer'])&&$_POST['answer'] != "")
{
$flag = 1;
}
?>
<script type="text/javascript">
function showMore()
{
document.getElementById("correct_answer").style.display="block";
}
</script>
<body>
<form name="form" action="index.php" method="post">
<tr align="center">
<td>
1.一道選擇題,選擇答案()
</td>
</tr>
<tr align="center">
<td>
<input type="radio" name="answer" value="選項1">選項1
</td>
</tr>
<tr align="center">
<td>
<input type="radio" name="answer" value="選項2">選項2
</td>
</tr>
<tr align="center">
<td>
<input type="radio" name="answer" value="選項3">選項3
</td>
</tr>
<tr align="center">
<td>
<input type="radio" name="answer" value="選項4">選項4
</td>
</tr>
<tr align="center">
<td>
<input type="submit" name="tijiao" value="提交" onclick="showMore()">
</td>
</tr>
<?php if ($flag == 1) { ?>
<div id="correct_answer" style="display:block">
<?php } else {?>
<div id="correct_answer" style="display:none">
<?php }?>
<tr><td>
正確答案:選項1 得分:0 </td></tr>
</div>
</form>
</body>
③ php下用sqllimit做分頁,然後資料庫取題目選項,做單選題分頁,如果切換題目的話無法保存已選題目的選項
我選擇的答案放在cookie裡面
④ php在線考試系統單選題答案提交
客戶端用JS的cookies保存答案/做個計時[]
弄個按紐,當時間到或按了按紐就直接提交所有答案到後台.
如果是單選就直接用字元串來表示.
後台分割POST過來的數據為數組和標准答案數組比較得到分數.
答案可以通過資料庫保存.
數據表:
ID 問題 標准答案
ID 回答者 問題數組 標准答案數組 用戶答案數組 分數
⑤ php題庫 從題庫里抽題 抽過的的題目下次抽題不再出現
保存用戶每次的題庫中題目ID,生成下一次題庫的時候就排除已經生成過的ID,not in(已經生成過的題id),一般都是針對一個用戶的。題目ID可以放入redis,不用保存在庫裡面。
⑥ PHP考試系統怎麼實現在同一頁面提交後,實現隨機出題,並保證提交後,不再隨機,要求試題和答案保持一致
用sesssion保存答過的題目id
每次選題前,先從session取出已答題目id跟所有題目id做一個差集,array_diff()可以計算數據差集。
新的題目從這個差集里隨機選取。
至於試題和答案對應關系,做好答案和試題id的關聯關系就行。
⑦ php+mysql 單選題測試網頁
最近要用PHP+mysql做一個在線單選題測試,共50題,每次隨機抽取5道題讓用戶選擇,請問我該如何建表、怎麼隨機出題效果更好、隨機題目出來選擇答案之後如何跟存在資料庫內的答案進行匹配。搜索請給一個思路,謝謝!
一、庫表結構設計
首先,要有個試題登記表,我們暫且定該表名為 Questions 吧。這個表至少要有如下欄位:
1、題號:id,正整數,INT
2、原題:ask,長度8000的字元串,VARCHAR(8000)
3、備選答案1:answer1,長度2000的字元串,VARCHAR(2000)
4、備選答案2 :answer1,長度2000的字元串,VARCHAR(2000)
5、備選答案3:answer1,長度2000的字元串,VARCHAR(2000)
6、備選答案4:answer1,長度2000的字元串,VARCHAR(2000)
7、正確選擇:solution,整數型,INT
第二,必須有一個考生登記表,我們暫且定該表名為 Candidates 吧。這個表至少要有如下欄位:
1、考號:No,CHAR(10)
2、姓名:name,CHAR(10)
3、身份證號:id,CHAR(18)
4、加密處理過的密碼:passwd,CHAR(32)
5、正面大頭照片:photo,TINYBLOB
第三,必須有一個考試登記表,我們暫且定該表名為 Examination 吧。這個表至少要有如下欄位:
1、考號:No,CHAR(10)
2、時間:tWhen,DATETIME
3、第一題號:Q1,INT
4、第二題號:Q2,INT
5、第三題號:Q3,INT
6、第四題號:Q4,INT
7、第五題號:Q5,INT
8、得分:score,INT
二、程序流程設計
首頁是登錄用的 form,讓參加考試的人輸入考號與密碼,提交以後的後台處理是:把他/她提交的密碼按加密規則進行加密運算,按 where (No=XXX) and (passwd=YYY) 查詢(select)庫表 Candidates ,如果返回1行則向前端瀏覽器發回「登錄驗證完畢,准備開考」的提示,該提示得到確認後,後台啟動隨機數產生程序——調用生成0-1之間隨機數的函數得到的值乘於50,得到的結果四捨五入取整生成第一個數,生成第二個數後就要與第一個得到的數做比較,如果重復了就重來一次生成過程,生成第三個數時就跟前2個比較,重復了則重來,最後生成5個不重復的數作為題號,第四第五個題號產生過程類似。得到五個題號後,把它們與考號、當前時間記入 Examination表的相應欄位,然後就可以發送第一題的頁面作為對考生確認准備開考的回應了。
每一題的頁面的運行過程是:以考號、第幾題為參數從 Examination 表查出該題的題號,接著從 Questions 中選出該題的原題、4個備選答案放在 form 內顯示給考生供考生選擇。考生選擇並確認後,後台的響應程序會把他/她的選擇與 Questions 表內的該題的正確選項對比,如果正確則給考生的得分欄加1,否則就不加。網頁內隱藏有 JavaScript 寫的計數器,時間到了考生不做選擇則會自動發送請求下一題(或考試結束通知)的請求。至於計時器的編寫你就參考網上別人寫的小時鍾程序吧。
有了這些以後,其它輔助的頁面就簡單了,無非就是考生的報名、考後的成績查詢等,不用我再給你說你也該知道怎麼做了。
⑧ php怎樣 統計單選題 各選項有多少人選
每進入一個頁面 就自動執行一個php頁面
這個頁面是提取用戶IP,然後查詢資料庫(包含一個DATE類型和一個TEXT類型)中有沒有
如果有 那麼不記錄
如果沒有 那麼記錄
月訪問量,就是本月份中,記錄的總數
⑨ php第八章測試題求解
一、單選題(每題3分)
第1題 JavaScript腳本語言的前身是
A.Basic
B.Live Script
C.Oak
D.VBScript
第2題 使用CSS對文本進行修飾,若使文本閃爍,text-decoration的取值為
A.none B.underline C.overline D.blink
第3題 XML基於的標準是
A.HTML B.MIME C.SGML D.CGI
第4題 標記符title是放在標記符什麼之間的
A.html與html
B.head與head
C.body與body
D.head與body
第5題 <img>標記符中連接圖片的參數是:
A. href B. src C. type D. align
第6題 級聯樣式表文件的擴展名是:
A html B css C xml D dib
第7題 同以往的版本相比較,HTML4.0:
A 增加了JavaScript支持
B 增加了Flash技術
C 增強了網頁的動態性
D 增加了ActiveX技術