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,037

HOME > PHP > PHP Forum > ให้ สุ่ม ออกมา แล้วไม่เกิน จำนวนครั้งที่แต่ละคนมี ไม่ให้ ติดลบ (ช่วยหน่อยน่ะค่ะ หนูสุ่มแล้วมันเกินจำนวนครั้งที่มี ทำให้ได้ ค่าติดลบ อ่าค่ะ Y^Y)



 

ให้ สุ่ม ออกมา แล้วไม่เกิน จำนวนครั้งที่แต่ละคนมี ไม่ให้ ติดลบ (ช่วยหน่อยน่ะค่ะ หนูสุ่มแล้วมันเกินจำนวนครั้งที่มี ทำให้ได้ ค่าติดลบ อ่าค่ะ Y^Y)

 



Topic : 084861

Guest




Code (PHP)
<body>

<div id="wrap">

<?php include("inc/head.html") ?>

<div class="right">
  
  <br />
    <h2>จัดตารางห้องสอบ</h2>
    <br />
	<form id="form1" name="form1" method="post" action="scheduling.php">


    
  <h4>
  <table width="95%" >
    <tr align="center" bgcolor="#9966FF">
      <td width="10%" >วันที่สอบ</td>
	  <td width="6%" >ห้อง</td>
	  <td width="10%" >เวลา</td> 
      <td width="15%" >ชื่อรายวิชา</td>
      <td width="13.5%" >กรรมการคุมสอบ</td>
      <td width="13.5%" >กรรมการคุมสอบ</td>
	  <td width="13.5%" >กรรมการคุมสอบ</td>
	  <td width="13.5%" >กรรมการคุมสอบ</td>
	  </tr>
	 

<!-- $sql = "select I_name,NumInvigilator from invigilator where NumInvigilator >= 0 order by I_name asc";
$rs = mysql_query($sql,$conn) or die ("Error Query [".$sql."]");
while ($objResult = mysql_fetch_array($rs)){
	for($i=1; $i <= $objResult["NumInvigilator"];$i++){
		echo $objResult["I_name"]."<br>";
	}
} -->

	  <?php


				
				while($row = mysql_fetch_array($result))				
						{

							if(in_array($row['Subj_id'],$dup_sub_id_array)) // ในกรณี วิชาเดียวสอบสองห้อง
								{
								$sql = "select * from invigilator where NumInvigilator >= 0 and  Posi_id = 3 AND I_id !=".$row['I_id']."  ORDER BY  RAND() LIMIT 1 " ;
								//echo $sql;
								$rst = mysql_query($sql);	
								$invigilator = mysql_fetch_array($rst);
								$I_name = $invigilator['I_name'];?><input type="hidden" name="name_numdel_fix1[]" value="<?php echo $invigilator['I_id'];?>"/></td> <?php
								$I_id = $invigilator['I_id'];
								} else 
									{
										$I_name = $row['I_name'];
										$I_id = $row['I_id'];?><input type="hidden" name="name_numdel_fix1[]" value="<?php echo $I_id;?>"/></td> <?php
									}  // ปิด ในกรณี วิชาเดียวสอบสองห้อง

					?>
						<tr bgcolor="#CCCCCC" align="center">
						
						<td><?php echo $row['Date']; ?>
							<input type="hidden" name="Date" value="<?php echo $row['Date'];?>"/>
						</td>
						<td><?php echo $row['Room']; ?>
							<input type="hidden" name="Room" value="<?php echo $row['Room'];?>"/>
						</td>
						<td><?php echo $row['Time_show']; ?>
							<input type="hidden" name="Time_show" value="<?php echo $row['Time_show'];?>"/>
						</td>
						<td><?php echo $row['Subj_name']; ?>
							<input type="hidden" name="Subj_name" value="<?php echo $row['Subj_name'];?>"/>
						</td>
						<td style="color: #00D"><?php echo $I_name  ?>
							<input type="hidden" name="name[]" value="<?php echo $I_name;?>"/>
						</td>
						<td style="color: #00D">
						<?php		

							
							$sql = "select * from invigilator where NumInvigilator >= 0 and I_id = ".$I_id ;
							
							$rst = mysql_query($sql,$conn) or die ("Error Query [".$sql."]");
								while ($invigilator_condition = mysql_fetch_array($rst))
								{
											for($i=1; $i <= $invigilator_condition["NumInvigilator"];$i++)
												{
													//echo $invigilator_condition['I_name'] ;
												
												
											
							
							//$result1 = mysql_query($sql);	
							//$invigilator_condition = mysql_fetch_array($result1);
									$sex = $invigilator_condition['I_sex'];
									$status = $invigilator_condition['I_status'];
									$position =  $invigilator_condition['Posi_id'];
								}
															}
							$sql_subj = "SELECT  Subj_type,Subj_name FROM  subject WHERE Subj_id =".$row['Subj_id'] ;
							$result_subj = mysql_query($sql_subj);
							$Subj_condition = mysql_fetch_array($result_subj);
									$subject =  $Subj_condition['Subj_type'];
									$subject_name =  $Subj_condition['Subj_name'];

							
									
		
			/*ตั้งให้เจ้าหน้าที่เป็นหลัก*/

									/*กำหนดเจ้าหน้าที่เป็นหลักวิชาทั่วไป*/
								if( $sex == 'male' && $status == 'new' && $position == 2 && $subject == 'lecture')
									{
								$sql ="select * from invigilator where NumInvigilator >= 0 and  Posi_id = 3  and NumInvigilator >0 and I_sex ='female' and I_status = 'old'  ORDER BY  RAND() LIMIT 1,1";
							//	$result_name = mysql_query($sql);
								
										
									}
								if($sex == 'male' && $status == 'old' && $position == 2  && $subject == 'lecture')
									{
								$sql ="select * from invigilator where NumInvigilator >= 0 and  Posi_id = 3  and NumInvigilator >0 and I_sex ='female' and I_status = 'new'  ORDER BY  RAND() LIMIT 1,1";
						
									}
								if($sex == 'female' && $status == 'new' && $position == 2  && $subject == 'lecture')
									{
								$sql ="select * from invigilator where NumInvigilator >= 0 and  Posi_id = 3  and NumInvigilator >0 and I_sex ='male' and I_status = 'old'  ORDER BY  RAND() LIMIT 1,1";
							
									}
								if($sex == 'female' && $status == 'old' && $position == 2  && $subject == 'lecture')
									{
								$sql ="select * from invigilator where NumInvigilator >= 0 and  Posi_id = 3  and NumInvigilator >0 and I_sex ='male' and I_status = 'new'  ORDER BY  RAND() LIMIT 1,1";
							
									}


	// ส่วนที่แสดง ชื่อออก มา	 
						 $result_name = mysql_query($sql);	
				
											while($I_name_random = mysql_fetch_array($result_name))
											{											
												echo $I_name_random['I_name'] ;?>
												<input type="hidden" name="name_numdel_fix2[]" value="<?php echo $I_name_random['I_id'];?>"/> 
												<input type="hidden" name="name1[]" value="<?php echo $I_name_random['I_name'];?>"/>
												<?php
											}
							?>
						 </td>



ทำยังไงให้มัน สุ่ม ออกมาตามจำนวนครั้ง แต่ละคนมี ไม่ให้ เกิน ทำให้ค่า มันติดลบ บางค่ะะ ช่วยดูให้หน่อยได้มั้ยค่ะ จนปัญญา แล้วค่ะ Y^Y



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-10-02 14:42:09 By : น้ำหวาน ค่ะ View : 1056 Reply : 3
 

 

No. 1



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



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


ขออนุญาต ไม่อ่านโค้ดนะครับ เพราะอาจจะทำให้ผมงง และก็มึนได้ แต่จะให้การแนะนำดังนี้ครับ

สิ่งที่เราต้องใช้คือเครื่องหมาย modular หรือ % ครับ (หารเอาเศษ) ยกตัวอย่างเช่น ถ้าเรามีการ loop ตั้งแต่

1 - 10 แล้วถ้า mod ด้วย 3 นั่นหมายความว่า ถ้าค่าใน loop มากกว่า 3 ค่าที่ได้ออกมาจะมีค่าตั้งแต่ 0 - 2 เท่านั้น

ผมหวังว่าตัวอย่างที่ผมยกมานั้นน่าจะช่วยคุณเจ้าของกระทู้ได้นะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-02 20:58:11 By : smeproject
 


 

No. 2

Guest


พอจะยกตัวอย่าง เป็น โค้ด ให้ดู หน่อยได้มั้ยค่ะ มันยังไม่เห็น ภาพอ่าค่ะ รบกวน อีกสักครั้งได้มั้ย ค่ะๆๆ คุณ smeproject
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-03 00:41:55 By : น้ำหวาน ค่ะ
 

 

No. 3



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



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


ผมแนะนำนะครับ ถ้าอยากได้ทางออกไวๆ เอาแค่ code ส่วนที่ทำการ random(สุ่ม) ออกมาครับ จะช่วยได้ไวมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-10-03 01:35:25 By : slashzy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ให้ สุ่ม ออกมา แล้วไม่เกิน จำนวนครั้งที่แต่ละคนมี ไม่ให้ ติดลบ (ช่วยหน่อยน่ะค่ะ หนูสุ่มแล้วมันเกินจำนวนครั้งที่มี ทำให้ได้ ค่าติดลบ อ่าค่ะ Y^Y)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่