A. 用php+mysql做一個題庫系統,隨機抽取五百題左右生成考試卷,最有效率的做法是什麼
php裡面有array_rand函數,你要是一道題一道題的讀出來,或許也可以嘗試一下。但是要是一下子都讀出來,即便這個函數效率可以的話,隨機取出id數組,查詢 「where id in 數組」 就不如直接在資料庫里隨機抽取記錄。
如何從數據表裡隨機抽取記錄呢,想想辦法還是有一些,就是不知道效率如何。有的是說用max_id*rand(),那一條一條抽取還是可以的。怎麼批量隨機抽取呢,可以試著排序,然後選取前500題,排序可以想辦法用一些函數(選取一些執行效率高的),如何md5,sha1,這種。如果為了使結果更具有隨機性,可以把欄位值再與一個隨機數運算一下。僅供參考。
========================
我想你還是用array_rand隨機抽500個id存到數組,然後遍歷數組吧。這樣也避免了題目重復。在資料庫里如果一次一條記錄隨機抽取,要考慮碰巧重復的問題。批量選取你就按上面我說的試試。
B. 求助下幾道PHP選擇題
6. D
7.$n=3 $n =4 $n=5
8.D
9.B
10.A
C. php程序設計選擇題
a.
a.
a.
d. Select * from employees where 姓名 like 『%文%』
d.
d.
b.
cd.
b.
D. PHP練習題
1、PHP語言標記是(B )。
A、<……>
B、<?php……?>
C、?…………?
D、/*………*/
2、PHP代碼要想以「<?」為開頭,以「?>」為結束,需要啟用配置文件中的(A )選項。
A、short_open_tag
B、asp_tags
C、allow_call_time_pass_reference
D、safe_mode_gid
4、PHP語句以什麼符號結束( C )
A、 .
B、 :
C、 ;
D、無需任何符號,換行就行
5、PHP中那些字元被認為是間隔字元(空白符)( A )。
A、空格
B、下劃線字元
C、製表符
D、回車符
E. PHP 選擇題
$a和$b雖然都是浮點數
不能按常規的符號來比較
php手冊沒看過吧
php官方手冊的原話
關於浮點數精度的警告
顯然簡單的十進制分數如同 0.1 或 0.7
不能在不丟失一點點精度的情況下轉換為內部二進制的格式。這就會造成混亂的結果:例如,floor((0.1+0.7)*10) 通常會返回
7 而不是預期中的 8,因為該結果內部的表示其實是類似 7.9。
這和一個事實有關,那就是不可能精確的用有限位數表達某些十進制分數。例如,十進制的 1/3 變成了 0.3。
所以永遠不要相信浮點數結果精確到了最後一位,也永遠不要比較兩個浮點數是否相等。如果確實需要更高的精度,應該使用任意精度數學函數或者 gmp 函數。
我怎樣給你解釋吧,浮點數會要根據系統平台有差異。會出現不是你想要的結果
要用專門的精度函數來比較浮點數
var_mp(bccomp($a,$b)); bccomp就是比較兩個浮點數,相等的時候返回0,這就正常了
F. PHP 選擇題
如果or die("Could not query: . mysql_error()); 這里的" ' " 不少的話就是
B、列印第三個雇員的名字
mysql_result($result,2); //2為列印的行索引,從0開始
另經測試以上代碼,確實列印第3行的雇員名字
其實這道題出的還是有漏洞的。
如果這行SELECT name FROM work.employee不加order by id的話表中的主鍵也不是按順序插入的顯示的就不一定是第3行了。。
G. PHP選擇題
在函數體內的時候, $A的作用域僅僅是在當前函數體內, 它無法訪問函數體外$A的值.
但是當你設置了global以後, 變數會由局部變數升級為全局變數, 這個時候它會受外部變數的影響.
所以, 你在函數體內的賦值會失效, 轉而會得到函數體外的$A的值!
H. php選擇題
1、A
2、D
3、A
4、C
5、C
很簡單
自己網上查查就行
I. 用php怎麼實現選擇題答題系統,主要是把所有題目列出來後該如何實現用戶選擇提交,用分頁顯示的,每頁
if(empty($_POST['submit'])){
$i=0;
}else{
$i=$_POST[i];
}
if($_POST['submit']!=""){
$arrayid[$i]=$arrayid[$i+1];
$array[$i]=$array[$i+1];
$arrayA[$i]=$arrayA[$i+1];
$arrayB[$i]=$arrayB[$i+1];
$arrayC[$i]=$arrayC[$i+1];
$arrayD[$i]=$arrayD[$i+1];
}
echo "".$arrayid[$i].".";
echo "".$array[$i]."";
J. 用PHP做多項選擇題,資料庫怎麼設計, 代碼怎麼寫....
常規思路
表1(問題)
question
id(主鍵) text(問題內容) rightAnswer(正確答案)
表2(備選答案)
answer
id(主鍵) qid(對應的問題id) text(備選答案)
$sql="SELECT * FROM question";
$r = mysql_query($sql);
while($row = mysql_fetch_rows($r)){
//輸出題干
echo $row[1];
$subsql="SELECT * FROM answer WHERE qid = '".$row[0]."'";
$subr = mysql_query($subsql);
while($subrow = mysql_fetch_rows($subr)){
//輸出備選答案
echo subrow[2];
}
}
我相信這是比較主流的設計思路,希望的幫到你
至於比對答案的時候,有一種簡單做法,你傳回來的答案不是數組嗎,將資料庫正確答案以字元串形式輸出,打散成數組,求2個數組的交集,根據交集數量判斷正確個數
不懂歡迎追問