|
|
|
ถ้าจะ random ช้อยของข้อสอบ แต่ล่ะข้อ จะทำยังไงดี |
|
|
|
|
|
|
|
<html>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<form name="form1" method="post" action="Sample2.php">
<?
srand ((double) microtime() * 10000000);
$host="localhost";
$username="root";
$password="";
$db="mydatabase";
$tb="testing";
mysql_connect( $host,$username,$password) or die ("ติดต่อกับฐานข้อมูล Mysql ไม่ได้ ");
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้");
$sql="Select * From $tb order by rand() limit 5";
mysql_query("set NAMES tis620 ");
$db_query=mysql_query($sql);
$i=0;
while($result=mysql_fetch_array($db_query))
{
$c1=$result["c1"];
$c2=$result["c2"];
$c3=$result["c3"];
$c4=$result["c4"];
$ss=array ($c1,$c2,$c3,$c4);
$rand_keys = array_rand ($ss, 4);
$i++;
?>
<table width="100%" border="0" align="center">
<tr>
<td width="18%"> <div align="center">
<input name="id[<?=$i;?>]" type="hidden" value="<?=$result["id"];?>">
<?=$result["question"];?>
</div></td>
<td width="14%"> <input name="c<?=$i;?>" type="radio" value="1" checked>
<? echo $ss[$rand_keys[0]];?>
</td>
<td width="16%"> <input type="radio" name="c<?=$i;?>" value="2">
<? echo $ss[$rand_keys[1]];?>
</td>
<td width="16%"> <input type="radio" name="c<?=$i;?>" value="3">
<? echo $ss[$rand_keys[2]];?>
</td>
<td width="15%"> <input type="radio" name="c<?=$i;?>" value="4">
<? echo $ss[$rand_keys[3]];?>
</td>
</tr>
</table>
<?
}
mysql_close();
?>
<div align="center"><br>
<input type="submit" name="Submit" value="ตรวจคะแนน">
</div>
</form>
</body>
</html>
โพส เอง ตอบเอง คับ ใครที่ไม่ได้ มาดูได้เลย งับ นั่งทำ ทั้งวันเลย
|
|
|
|
|
Date :
12 ส.ค. 2549 16:52:08 |
By :
teewa2032 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่างกล้าทำนะเนี้ยคนยังงี้ก็มีด้วย ผ่านมาหลายวันก็เอาใจช่วยแล้วกันนะป่านนี้คงเสร็จแล้วมั้ง
|
|
|
|
|
Date :
23 ก.ย. 2549 14:47:39 |
By :
กระต่าย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
///// ข้อมูลเกี่ยวกับผู้ใช้งานฐานข้อมูล //////////////
$host="localhost";//ชื่อโฮส
$user="root";//ชื่อผู้ใช้งานฐานข้อมูล
$pass="root";//รหัสผู้ใช้งานฐานข้อมูล
$dbname="examination";
mysql_connect($host,$user,$pass) or die ("ติดต่อ Database Ser ver ไม่ได้");
mysql_select_db($dbname) or die ("เลือกใช้งานฐานข้อมูลไม่ได้");
mysql_query("SET NAMES TIS620");
//////////////////////////// ติดต่อกับ MySQL Server ///////////////////////////////////////
//$connect_mysql = mysql_connect( $dbhost, $dbusername, $dbpassword );
//if ( ! $connect_mysql ) die( "ไม่สามารถติดต่อกับ MySQL ได้" );
//////////////////////////// เลือกใช้งานฐานข้อมูล //////////////////////////////////////////////////
//mysql_select_db( $dbname, $connect_mysql )or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล$dbname" );
///////////// // คำสั่ง SQL ให้เลือกใช้งานตาราง ///////////////////////////////////////////////
//$sql = "SELECT * FROM itembank ORDER BY rand()";
$sql = "SELECT * FROM itembank ORDER BY rand()";
$c = 0;
/////////////// กำหนดจำนวนข้อมูลแสดงผลต่อ 1 หน้า //////////////////////
$per_page = 1;
//////////////////////////////////////////////////////////////////////////////////
if ( !$page )
$page = 1;
$prev_page = $page - 1;
$next_page = $page + 1;
$result = mysql_query( $sql );
$page_start = ( $per_page * $page) - $per_page;
$num_rows = mysql_num_rows( $result );
if ( $num_rows <= $per_page )
$num_pages = 1;
else if ( ( $num_rows % $per_page ) == 0 )
$num_pages = ( $num_rows / $per_page );
else
$num_pages = ( $num_rows / $per_page ) + 1;
$num_pages = ( int ) $num_pages;
if ( ( $page > $num_pages ) || ( $page < 0 ) )
print "จำนวน $page มากกว่า $num_pages";
/////////////// คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า///////////////////////////////
$sql .= " LIMIT $page_start, $per_page";
//result = mysql_query( $sql );
$result=mysql_db_query("$dbname",$sql);
//$number=1;
////////////////////// นำข้อมูลออกมาแสดงผล ////////////////////////////////////////////////
while ($r=mysql_fetch_array($result)) //นำค่าที่ผ่านการคิวรี่จากตัวแปร $result มาทำการวนลูปเพื่อเอาค่าในแต่ละฟิลด์ออกมาโชว์แสดงผล
{
//echo "$rs[province] <br>\n";//นำค่าในฟิลด์ต่างๆออกมาแสดง question
//echo "$rs[no] <br>\n";//นำค่าในฟิลด์ต่างๆออกมาแสดง
$no=$r[no];
if(check($no)!=0){
$question=$r[question];
$choice1=$r[choice1];
$choice2=$r[choice2];
$choice3=$r[choice3];
$choice4=$r[choice4];
$a[$c++] = $no;
//echo $a[1];
echo "<B>ข้อ $no. $question </B><BR>
<INPUT TYPE='radio' NAME='select_$no' VALUE='1'> $choice1 <BR>
<INPUT TYPE='radio' NAME='select_$no' VALUE='2'> $choice2 <BR>
<INPUT TYPE='radio' NAME='select_$no' VALUE='3'> $choice3 <BR>
<INPUT TYPE='radio' NAME='select_$no' VALUE='4'> $choice4
<INPUT TYPE='hidden' NAME='total_question[]' VALUE='$no'>
<HR> ";
//$number++;
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////
?>
<!- - แสดงผลจำนวนเรคคอร์ดของข้อมูล จำนวนหน้าและลิงค์หน้าต่อๆไป - - !>
รวมทั้งหมด <!-- <b><?php echo $num_rows; ?></b> เรคคอร์ด --> <b><?php echo $num_pages; ?></b> หน้า :
<?php
////////////////// สร้างปุ่มย้อนกลับ ///////////////////////////////
if ( $prev_page )
echo "<a href=\"$PHP_SELF?page=$prev_page\"><<กลับไป </a>";
////////////////// สร้างตัวเลขหน้า ////////////////////////////////
for ( $i=1; $i<=$num_pages; $i++ )
{
if ( $i != $page)
echo "[<a href=\"$PHP_SELF?page=$i\">$i</a>]";
else
echo " <b>$i</b> ";
}
/////////////////// สร้างปุ่มเดินหน้า /////////////////////////////////////
if ( $page != $num_pages )
echo "<a href=\"$PHP_SELF?page=$next_page\"> หน้าต่อไป >></a>";
////////////////// ปิดการเชื่อมต่อฐานข้อมูล ////////////////////////////
//mysql_close( $connect_mysql );
mysql_close;
function check($n){
for($i =0 ; $i<=c ; $i++){
if($a[i]==n)
return 0;
}
return 1 ;
}
?>
|
|
|
|
|
Date :
2010-11-25 15:01:21 |
By :
ninjaKMU |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
order by rand() ตั้งแต่ตอน select ข้อมูลของตัวคำตอบด้วยเลยไม่ง่ายกว่ารึเพราะมันกำหนด where เข้าไปแล้วนี่
งงไหม
|
|
|
|
|
Date :
2010-11-25 16:10:47 |
By :
monotakari |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|