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 > เชคการจองห้องครับเลือกเวลาซ้ำไม่ได้เช่น 8.00-10.00 แต่อีกคนจอง 10.00-11.00 จองไม่ได้



 

เชคการจองห้องครับเลือกเวลาซ้ำไม่ได้เช่น 8.00-10.00 แต่อีกคนจอง 10.00-11.00 จองไม่ได้

 



Topic : 114201



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



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




Code (PHP)
	$strSQL = "SELECT * FROM booking WHERE r_id = '".$room."' 
AND
(
    
	(sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."') or
	('".$sdate."' between sdate AND edate) OR ('".$edate."' between sdate AND edate)
)
AND 
(
   ('".$stime."' between stime  AND etime) OR ('".$etime."' between  stime  AND etime )
   OR (stime between '".$stime."' and '".$etime."') OR (etime between '".$stime."' and '".$etime."')
)


โค๊ดนี้มีปัญหาตรงสมมุติ

ถ้าจอง8.00-10.00 แต่พอมีคนจอง 10.00-11.00จะจองไม่ได้เพราะ มันซ้ำกับ10.00ของรอบที่แล้วอะครับ

ต้องเพิ่มคำสั่งอะไรหรอครับหรือต้องใช้แบบอื่นไปเลย



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-02-04 11:56:41 By : white31969 View : 847 Reply : 8
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code
$datestart = '2015-02-04 08:00:01';
$dateend = '2015-02-04 10:00:00';


กำหนดเวลาเริ่มต้น เพิ่ม วินาที่เข้าไป สำหรับการตรวจสอบ ซักหน่อย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-04 12:16:41 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

sdate ฟิวด์ตัวนี้จะต้องเป็น DateTime เก็บทั้ง วันที่และเวลา ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-04 12:52:47 By : mr.win
 

 

No. 3



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



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


datetime ต้องเก็บเป็นยังไงหรอครับ

ของเก่าผมเป็นแบบนี้อะครับถ้าเก็บเป็น2ช่อง มันต้องต่อกันยังไงหรอครับ

Code (PHP)
	$sdate=$_POST['date1'];
	$edate=$_POST['date2'];
	$stime = $_POST['hour1'].':'.$_POST["min1"].':00';
	$etime = $_POST['hour2'].':'.$_POST["min2"].':00';

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-04 15:15:03 By : white31969
 


 

No. 4



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

โค๊ดนี้มีปัญหาตรงสมมุติ ถ้าจอง8.00-10.00 แต่พอมีคนจอง 10.00-11.00จะจองไม่ได้เพราะ มันซ้ำกับ10.00ของรอบที่แล้วอะครับ ต้องเพิ่มคำสั่งอะไรหรอครับหรือต้องใช้แบบอื่นไปเลย


จองก่อน
2015-02-04 08:00:00
2015-02-04 10:00:00

จองต่อจากนั้น
2015-02-04 10:00:00
2015-02-04 11:00:00

แม้จะมีวินาทีเข้ามาแล้ว ก็ดูเหมือนจะยังมีปัญหาอยู่นะครับ ถ้าเลือกที่ 00 เหมือนกัน
น่าจะลองเพิ่ม +1 วิทุกครั้งที่จะนำไปค้นหา

เช่น ถ้าอนุญาตให้เริ่มจอง 10:00:00 ได้
ก็นำ 10:00:00 ไปบวก 1 เป็น 10:00:01

เวลาเช็คว่างก็จะผ่านได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-04 16:58:04 By : {Cyberman}
 


 

No. 5



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



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


ช่วย อธิบายการบวกได้มั้ยอะครับ Y^Y ต้องบวกกันยังไง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-05 06:32:37 By : white31969
 


 

No. 6



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


จากความเห็นที่ 1 และ 3 นำมาประยุกต์
Code (PHP)
$sdate=$_POST['date1'];
$edate=$_POST['date2'];
$stime = $_POST['hour1'].':'.$_POST["min1"].':00';
$etime = $_POST['hour2'].':'.$_POST["min2"].':00';


เพิ่มเติม +1 วินาที
$sdate=$_POST['date1'];
$edate=$_POST['date2'];
$stime = $_POST['hour1'].':'.$_POST["min1"].':01';
$etime = $_POST['hour2'].':'.$_POST["min2"].':00';


ประวัติการแก้ไข
2015-02-05 07:16:21
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-05 07:14:46 By : Chaidhanan
 


 

No. 7



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



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


Code (PHP)
        $mtime = 00+10;
	$sdate=$_POST['date1'];
	$edate=$_POST['date2'];
	$stime1 = $_POST['hour1'].':'.$_POST["min1"].':'.$mtime;
	$etime1 = $_POST['hour2'].':'.$_POST["min2"].':'.$mtime;
	$stime = $_POST['hour1'].':'.$_POST["min1"].':'.'00';
	$etime = $_POST['hour2'].':'.$_POST["min2"].':'.'00';
	$room=$_POST['txtroom'];
	$m_id=$_POST['txtm_id'];
	$sex=$_POST['txtsex'];
	$org=$_POST['txtorg'];
	$tel=$_POST['txttel'];
	$fax=$_POST['txtfax'];
	$mail=$_POST['txtmail'];
	$detail=$_POST['txtdetail'];
	
	echo $stime;
	echo $etime;
	
	$strSQL = "SELECT * FROM booking WHERE r_id = '".$room."' 
AND
(
    (sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."') or
	('".$sdate."' between sdate AND edate) OR ('".$edate."' between sdate AND edate)
)
AND 
(
   ('".$stime1."' BETWEEN stime  AND etime) OR ('".$etime1."' BETWEEN  stime  AND etime )
   OR (stime between '".$stime1."' and '".$etime1."') OR (etime between '".$stime1."' and '".$etime1."')
)


";
	$objQuery = mysql_query($strSQL) or die(mysql_error());
	$objResult = mysql_fetch_array($objQuery);

	if($objResult)
	{
		
			echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
	}
	elseif($stime > $etime){
					 echo "<script>alert('เวลาเริ่มต้นน้อยกว่าเวลาสิ้นสุด!');history.back();</script>";
				 }
else
{
				 	
$sql_insert = " INSERT INTO `booking` (`m_id` ,`appdate` ,`sdate` ,`edate` ,`stime` ,`etime` ,`r_id` ,`detail` ,`status` )";
$sql_insert.= " VALUES('".$m_id."','".date("Y-m-d")."','".$sdate."','".$edate."', '".$stime."', '".$etime."','".$room."','".$detail."','0'); ";
$objQuery = mysql_query($sql_insert) or die(mysql_error());






ผมลองทำประมาณนี้อะครับ ตอนนี้มันได้แล้วขอบคุณทุกคนนะครับที่แนะนำ

แต่ผมกลัวจะมีปัญหาอื่นช่วยดูให้หน่อยนะครับ

เดี๋ยวถ้ามีบั้คอื่นๆเดี๋ยวผมมาให้ช่วยใหม่นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-05 07:20:07 By : white31969
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


+10 นาที ถือว่าเป็นเวลาสมควร สำหรับการจองห้องล่ะครับ เพราะว่าควรมีเวลาสำหรับทำความสะอาดด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-02-05 07:24:58 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เชคการจองห้องครับเลือกเวลาซ้ำไม่ได้เช่น 8.00-10.00 แต่อีกคนจอง 10.00-11.00 จองไม่ได้
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่