php里面有array_rand函數(shù),你要是一道題一道題的讀出來(lái),或許也可以嘗試一下。但是要是一下子都讀出來(lái),即便這個(gè)函數(shù)效率可以的話(huà),隨機(jī)取出id數(shù)組,查詢(xún) “where id in 數(shù)組” 就不如直接在數(shù)據(jù)庫(kù)里隨機(jī)抽取記錄。\x0d\x0a如何從數(shù)據(jù)表里隨機(jī)抽取記錄呢,想想辦法還是有一些,就是不知道效率如何。有的是說(shuō)用max_id*rand(),那一條一條抽取還是可以的。怎么批量隨機(jī)抽取呢,可以試著排序,然后選取前500題,排序可以想辦法用一些函數(shù)(選取一些執(zhí)行效率高的),如何md5,sha1,這種。如果為了使結(jié)果更具有隨機(jī)性,可以把字段值再與一個(gè)隨機(jī)數(shù)運(yùn)算一下。僅供參考。\x0d\x0a========================\x0d\x0a我想你還是用array_rand隨機(jī)抽500個(gè)id存到數(shù)組,然后遍歷數(shù)組吧。這樣也避免了題目重復(fù)。在數(shù)據(jù)庫(kù)里如果一次一條記錄隨機(jī)抽取,要考慮碰巧重復(fù)的問(wèn)題。批量選取你就按上面我說(shuō)的試試。
創(chuàng)新互聯(lián)成立于2013年,先為沭陽(yáng)等服務(wù)建站,沭陽(yáng)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為沭陽(yáng)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
數(shù)據(jù)庫(kù)的設(shè)計(jì)本人認(rèn)為可以這樣,提交表單應(yīng)該再設(shè)置一個(gè)隱藏域,儲(chǔ)存題目ID,例如
" name="an_id"
處理頁(yè)面可以使用將獲取到的答案數(shù)組
$_POST['itm']進(jìn)行遍歷,用循環(huán)$value查找question,可以使用函數(shù)strpos(),該函數(shù)如果返回?cái)?shù)字,則是正確答案,如果返回false,則是錯(cuò)誤答案
if(isset($_POST['an_id'])){
$an_id = $_POST['an_id'];
$qus_sql = "select `question` from `vote_answer` where id = $an_id";
$query = mysql_query($qus_sql);
while($row = mysql_fetch_row($query)){
$question = $row[0];
}
$user_question = $_POST['itm'];
foreach($user_question as $value){
if(strpos($question,$value){
echo '正確答案';
}else{
echo '錯(cuò)誤答案';
}
}
}全手寫(xiě)代碼,有錯(cuò)誤請(qǐng)百度HI我!
1、題庫(kù)記錄各種試題
2、試卷是按規(guī)則生成出的試題;
3、用戶(hù)考試:用戶(hù) 關(guān)聯(lián) 試卷 及試題 ,計(jì)算得分
大致就可以了1