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 > รบกวนช่วยดูโค้ดหน่อยครับ คือว่ากดจองสนามไปแล้วมันขึ้นสถานะจองไม่ถูกต้องอ่ะครับ



 

รบกวนช่วยดูโค้ดหน่อยครับ คือว่ากดจองสนามไปแล้วมันขึ้นสถานะจองไม่ถูกต้องอ่ะครับ

 



Topic : 109044



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



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




กดจองสนามไปแล้วมันขึ้นสถานะจองไม่ถูกต้องอ่ะครับ
รบกวนช่วยดูโค้ดผมที ขอบคุณครับ

<< ภาพประกอบ >>
1.อันนี้ตารางโชว์การจองครับ
4
2.เมื่อกดจองไปแล้ว
5
3.เมื่อกดจองเวลา 19.00 กลับขึ้นแบบนี้อ่ะครับ
6
4.db booking
book
5.db field
f
6.db time
t


<< Code PHP ส่วนของ show ตารางการจอง และการ GET ค่าจาก checkbox ครับ >>
$query = mysql_query("SELECT * FROM time WHERE time_status = 1 ORDER BY time_name ASC"); 
$query2 = mysql_query("SELECT * FROM field ORDER BY field_name ASC "); 

$arrTime = array();
$arrField = array();

while($result = mysql_fetch_array($query)) array_push($arrTime,$result);
while ($result2 = mysql_fetch_array($query2)) array_push($arrField,$result2);

$strTable= '<table border="1" id="box-table-a" width="" align="center">
<tr>
<th><strong>เวลา/สนาม</strong></th>';
//LOOP แสดงชือเวลา
foreach ($arrTime as $time)
{
	$strTable.='<th>'.show_time($time["time_name"]).'</th>'; 
}
$strTable.='</tr>';


//LOOP แสดงชื่อสนาม
foreach($arrField as $f_name)
{
 $strTable.='<tr><th>'.$f_name["field_name"].'</th>';
 
 
 $sql = "SELECT * FROM booking,time WHERE fieldID = '{$f_name[fieldID]}' AND date = '{$date}'  ORDER BY  time.time_name ASC ";
 $query=mysql_query($sql) or die (mysql_error); 
 $num = mysql_num_rows($query);
 $run = 0;
  
	// LOOP แสดงค่า จอง หรือว่าง
 	foreach($arrTime as $time)
	{
		    $time_now = date("H:i:s");
			$date_now = date ("Y-m-d");
			
			// ==== เมื่อมีการจอง ========== >>>>>> ปัญหาอยู่แถวๆนี้ครับ
	 	 	if ($num > $run  &&  $time ["timeID"] == mysql_result($query,$run,'booking.timeID')   && $date >= $date_now  )
			 {
				
				 if ($date == $date_now && $time['time_name'] < $time_now  && $time['time_name']  ) 
				 {
					 
						$strTable.='<td><font color="green"><b>Playing</b></font></td>'; 
						$run++;	 
				 }
				  	
				 else 
				 {
					$strTable.='<td><font color="orange"><b>จองแล้ว</b></font></td>'; 
					$run++;
				 }
			  }
	
			// ==== ไม่มีการจอง =====
		    else
			{			
			   	if($_SESSION['userID'] == "")  	
				{
					$strTable.='<td>ว่าง</td>';	
				} 
				else
				{
					$timestamp1 = strtotime($date_now);
					$timestamp2  = strtotime('+7 days',$timestamp1);
					$date7 = date('Y-m-d', $timestamp2);
					
					if ($date < $date_now || $date > $date7 ) //จองได้ล่วงหน้า 7 วัน 
					{
						 $strTable.='<td><font color="#C0C0C0">ว่าง<input name="chk" type="checkbox"   disabled="disables" value=""></font></td>' ;
					}
					
					else if ($time['time_name'] < $time_now  && $date == $date_now ) // เวลาน้อยกว่าเวลาปัจจุบัน 
					{
			 			 $strTable.='<td><font color="#C0C0C0">ว่าง<input name="chk" type="checkbox"  disabled="disables"></font></td>';			 
					}
					else  
					{
						$chkField= $f_name['fieldID'];
						$chkTime = $time['timeID'];
						$chkDate= $date;
						$chkUser = $_SESSION['userID'];
						$chkDate2Book = date("Y-m-d");
						$chkTime2Book = date("H:i:s");
												
						$strTable.='<td>ว่าง 
						<input type ="checkbox" name ="chk[]" id="chk"
						 value ="'.$chkField."_".$chkTime."_".$chkDate ."_".$chkUser."_".$chkDate2Book."_".$chkTime2Book .'" 
						onClick="if(form_book.chk.checked==false){form_book.btnSubmit.disabled=true;} 	else{form_book.btnSubmit.disabled=false;  }">  </td>';
					}
				}
			 }
 	 } 
} 

$strTable.='</tr>'.'</table>';
echo $strTable;
?>
</p>

<? if (isset($_SESSION["userID"])) { ?>
<center>
<input name="btnReset"class="but_mid_green4"  type="reset"  id="btnReset" value="CLEAR" /> 
<input name="btnSubmit" class="but_mid_green4" type="submit" id="btnSubmit" value="BOOK NOW >>" disabled="disabled" onClick="return confirm ('ยืนยันการจอง')" /> 
</center>
 <? } ?>
 
 <? if ($_GET['btnSubmit'])
 { 
      $strchk = $_GET["chk"];
	 for($i= 0;$i < count($strchk[$i]);$i++)
	{
		if(trim($strchk[$i]) != "")
		{
			for ($j= 0 ;$j < count($strchk) ;$j++)
			{
				$no = explode ("_",$strchk[$j]);
				 $text1 = $no[0]; 
				 $text2 = $no[1]; 
				 $text3 = $no[2];
		 		$text4 = $no[3];
				$text5 = $no[4];
		 		$text6 = $no[5];
				$s = "INSERT INTO booking (fieldID,timeID,date,userID,date2book,time2book) VALUES ('$text1','$text2','$text3','$text4','$text5','$text6')" ;
		 		$q = mysql_query ($s) or die (mysql_error());
			}
		}
}
 }





Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-06-09 23:02:59 By : jpong7 View : 4012 Reply : 6
 

 

No. 1



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



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


ผมคิดว่าที่ระบบแสดงผลการจองผิด เกิดจากการ query ข้อมูลในบรรทัด 27
เพราะผลที่ได้จากการ query จะได้ประมาณนี้

query ตาม บรรทัดที่ 27

ซึ่งผมคิดว่าไม่น่าจะใช่ ที่ควรจะเป็นน่าจะเป็นแบบนี้

new query

อันนี้เป็น query statement ที่ผมใช้ใน MS Access

Code
SELECT booking.bookingID, booking.userID, booking.fieldID, booking.timeID, time.time_name, booking.date, booking.date2book, booking.time2book FROM booking INNER JOIN [time] ON booking.timeID = time.timeID ORDER BY time.time_name;


ผมยังไม่ได้ลองใน mysql ว่าใช้ได้เหมือนกันหรือเปล่า

หวังว่าจะช่วยแก้ปัญหาได้








ประวัติการแก้ไข
2014-06-10 10:30:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-10 10:26:55 By : Alan
 


 

No. 2



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



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


ขอบคุณครับคุณ Alan ผม Join ตารางได้มา 3 ฟิลด์แล้วครับ แต่ติดปัญหาตรงเรื่อง LOOP อ่ะครับ คือมันวนขึ้นทั้งหมดเลยครับ
ตรง Loop Foreach ควรจะเขียนยังไงดีอ่ะครับ
2222

$sql ="SELECT booking.bookingID, booking.userID, booking.fieldID, booking.timeID, time.time_name, booking.date, booking.date2book, booking.time2book
FROM booking 
INNER JOIN time ON booking.timeID = time.timeID
WHERE date = '{$date}'
ORDER BY time.time_name";
 $query=mysql_query($sql) or die (mysql_error); 
 $num = mysql_num_rows($query); 
 $run = 0;

	foreach($arrTime as $time)
	{
		    $time_now = date("H:i:s");
		    $date_now = date ("Y-m-d");
			
                          // ==== เมื่อมีการจอง ======
			
	  if ($date == $date_now && $time['time_name'] < $time_now  &&  $time ["time_name"] == mysql_result($query,$run,'time_name' )) //ติดเงื่อนไขนี้อ่ะครับ ควรเขียนยังไงดีครับ
			 {	 
      			$strTable.='<td><font color="orange"><b>จองแล้ว</b></font></td>'; 
 $run++;
			 }
         }



ประวัติการแก้ไข
2014-06-10 16:07:38
2014-06-10 16:11:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-10 16:06:11 By : jpong7
 

 

No. 3



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



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


ผมว่าลองเปลี่ยนจาก

WHERE date = '{$date}'

เป็น

WHERE fieldID = '{$f_name[fieldID]}' AND date = '{$date}'

น่าจะช่วยได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-10 17:00:10 By : Alan
 


 

No. 4



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



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


กดจองแล้วมันไม่ลงล็อคอ่ะครับ ไม่ตรงตามเวลาครับ เดี๋ยวลองดูใหม่ครับ ขอบคุณมากครับคุณ alan


ประวัติการแก้ไข
2014-06-10 17:23:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-10 17:11:31 By : jpong7
 


 

No. 5



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



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


ได้แล้วครับ ขอบคุณคุณ alan มากๆครับ น้ำตาจะไหล TT
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-10 17:38:20 By : jpong7
 


 

No. 6

Guest


อยากได้โค้ดบ้างจังค่ะ แอดFacebook มาสอนได้ไหมค่ะ กำลังจะทำโปรเจคจบ ระบบการจองสนามฟุตบอล รบกวนน่อยค่ะ Facebook ชื่อ นฤมล เรืองสุข หรือLine : neslovekik
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-25 00:04:46 By : Gik
 

   

ค้นหาข้อมูล


   
 

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