การสุ่มคำตอบ กขคง.
สำหรับการทำแบบทดสอบที่เก็บคำตอบไว้กับคำถามใน record เดียวกันเลย SQL จะทำการสุ่มได้เฉพาะลำดับคำถาม ไม่สามารถสุ่มคำตอบได้ ให้เราอ่านข้อมูลคำตอบของคำถามใส่ array ก่อนแล้วทำการสุ่มด้วยเทคนิคนี้ ก่อนนำไปแสดง
<?
//อ่านคำตอบจากฐานข้อมูล
$answer[0]="คำตอบ ก";
$answer[1]="คำตอบ ข";
$answer[2]="คำตอบ ค";
$answer[3]="คำตอบ ง";
$correct = 1; //คำตอบที่ถูกต้องที่กำหนดมา(คำตอบ ข)
//โค้ด random คำตอบ
srand( (double)microtime() * 10000000 );
$n = 0;
while ( $n < 4 )
{
while ( true )
{
$c = rand() % 4;
if ( empty( $ans[$c] ) )
{
$ans[$c] = $answer[$n];
if ( empty($cort) & $n == $correct )
{
$cort = $c;
}
$n++;
break;
};
};
};
echo $ans[0]."<br />".$ans[1]."<br />".$ans[2]."<br />".$ans[3]."<br />คำตอบที่ถูกต้อง $ans[$cort]<br />ลอง Refresh ดู";
?>