Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ถ้าจะ random ช้อยของข้อสอบ แต่ล่ะข้อ จะทำยังไงดี



 

ถ้าจะ random ช้อยของข้อสอบ แต่ล่ะข้อ จะทำยังไงดี

 



Topic : 009512

Guest




ถ้าจะ random ช้อยของข้อสอบ แต่ล่ะข้อ จะทำยังไงดี สมมุติ

ข้อ1 1.ตัวเลือกที่1 2.ตัวเลือกที่2 3.ตัวเลือกที่3 4.ตัวเลือกที่4


random output

ข้อที่ 1 2.ตัวเลือกที่2 4.ตัวเลือกที่4 3.ตัวเลือกที่3 1.ตัวเลือกที่1


จะทำยังไงให้ random ข้อและ random choice จะทำไงดี ช่วยหน่อยน่ะ ขอบคุณ มากๆ


Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 12 ส.ค. 2549 09:00:31 By : teewa2032 View : 2445 Reply : 4
 

 

No. 1

Guest


<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
 


 

No. 2

Guest


ช่างกล้าทำนะเนี้ยคนยังงี้ก็มีด้วย ผ่านมาหลายวันก็เอาใจช่วยแล้วกันนะป่านนี้คงเสร็จแล้วมั้ง
Date : 23 ก.ย. 2549 14:47:39 By : กระต่าย
 

 

No. 3



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


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\">&lt;&lt;กลับไป </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\"> หน้าต่อไป &gt;&gt;</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
 


 

No. 4



โพสกระทู้ ( 373 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

order by rand() ตั้งแต่ตอน select ข้อมูลของตัวคำตอบด้วยเลยไม่ง่ายกว่ารึเพราะมันกำหนด where เข้าไปแล้วนี่

งงไหม
Date : 2010-11-25 16:10:47 By : monotakari
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถ้าจะ random ช้อยของข้อสอบ แต่ล่ะข้อ จะทำยังไงดี
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่