|  | 
	                
  
    | 
	 
        php + booking ถามเรื่องเกี่ยวกับการเช็คช่วงเวลา ครับ เพื่อไม่ให้จองเวลาซ้ำกัน     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ลองดูไม่รู้ได้หรือป่าว where ( time1>$input1 and  time1>$input2) or ( time2<$input1 and  time2<$input2)
 แล้ว count ดูนะ
 ถ้าเท่ากับ 1 เพิ่มได้
 ถ้าเท่ากับ 0 เพิ่มไม่ได้
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-07-12 20:56:33 | By :
                            heng |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | แปลงเป็น mktime แล้วใช้คำสั่ง between เช็ค ครับ 
 Code
 
 $a=mktime(0,0,0,07,10,7,2010);
$b=mktime(0,0,0,07,12,7,2010);
$txtb1=mktime(0,0,0,07,12,7,2010);
$txtb2=mktime(0,0,0,07,12,7,2010);
$sql="select*from tb where $txtb1 between  $a and $b";
$res=mysql_query($sql);
$num_rows=mysql_num_rows;
if($num_rows>1)
  {
    echo"ช่วงเวลาดังกล่าว มีคนจองไปแล้ว";
    exit;
  }
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-07-12 22:44:40 | By :
                            iieszz |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ถ้าผมเก็บไนฐานข้อมูลแบบนี้ 
 ค่าเริ่มต้น รับค่าจาก $time11 เก็บในฐานข้อมูล time1  สมมุติเท่ากับ 2010-07-10
 ค่าสิ้นสุด  รับค่าจาก $time22 เก็บในฐานข้อมูล time2  สมมุติเท่ากับ 2010-07-12
 
 ต้องกำหนดค่าไว้ในตัวแปลตัวไหนครับ เพื่อจะได้เปรียบเทียบได้ จาก ตัวอย่างของคุณ iieszz
 
 Code (PHP)
 
 $a=mktime(0,0,0,07,10,7,2010);
$b=mktime(0,0,0,07,12,7,2010);
$txtb1=mktime(0,0,0,07,12,7,2010);
$txtb2=mktime(0,0,0,07,12,7,2010);
$sql="select*from tb where $txtb1 between $a and $b";
$res=mysql_query($sql);
$num_rows=mysql_num_rows;
if($num_rows>1)
{
echo"ช่วงเวลาดังกล่าว มีคนจองไปแล้ว";
exit;
}
 ปล.ครับ วิธีของคุณ heng (ข้อความแรก)
 where ( time1>$input1 and time1>$input2) or ( time2<$input1 and time2<$input2)
 แล้ว count ดูนะ
 ถ้าเท่ากับ 1 เพิ่มได้
 ถ้าเท่ากับ 0 เพิ่มไม่ได้
 
 วิธีการ count ทำอย่างไร รบกวนช่วยบอกด้วยครับ
 
 พื้นฐานไม่ดี รบกวนช่วยชี้แนะด้วยครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-07-13 03:51:55 | By :
                            ฝึกหัด |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุณ คุณmr.win มากๆครับ ทำได้แล้วครับ! และก็ขอบคุณทุกๆคนที่เข้ามาให้คำแนะนำครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-07-14 00:54:10 | By :
                            ฝึกหัด |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมขอรบกวน พี่ ๆ อีกนิดนึงนะครับ 
 คือของผมเป็นระบบจองห้องประชุมนะครับ (การประชุมแต่ละครั้งอาจใช้เวลาไม่ถึงวันใช่ไหมครับ)
 
 ผมจำเป็นต้องเก็บระยะเวลาเริ่มใช้ห้อง และเวลาสิ้นสุดการใช้ห้องด้วย ผมควรที่จะเช็ค ทั้งวันที่ และเวลา ยังไงครับ
 
 ขอบคุณล่วงหน้าครับ
 
 ผมมือใหม่.....
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2011-08-07 00:50:38 | By :
                            มือใหม่ |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุณครับ พี่ win ตอนนี้เช็ควันได้แล้ว แต่เวลา ตอนบันทึกลงฐานข้อมูล 
 รูปแบบจะเป็นแบบนี้ครับ 2011-08-10 00:00:00 ถึง 2011-08-15 00:00:00
 
 ผมคิดไม่ออกว่า จะให้ user เลือกเวลายังไงครับ แล้วรูปแบบเวลาตอนให้ user กรอกต้องเป็นยังไงครับ รบกวนพี่ ๆ ด้วยนะครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2011-08-07 14:35:57 | By :
                            มือใหม่ |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | รบกวนหน่อยครับพี่ mr.win 
 สมมุติผมใช้ Code (PHP)
 
 SELECT *,count(rtid) as num_room FROM room_order  WHERE (chk_in BETWEEN ' 2011-11-19' and '2011-11-20') OR (chk_out BETWEEN ' 2011-11-19' and '2011-11-20')  group by rtid
 
 ในการค้นหาห้องตัวนี้ค้นเจอปกตินะครับ
 
 ตอนนี้ผมเจอปัญหาประมาณว่า
 
 สมมุติ ห้องที่ผมสร้างมี 2 ห้อง
 
 ถ้า มี user จองไว้ระหว่างวันที่  2011-11-15 to 2011-11-30 แล้ว
 
 และลูกค้าคนต่อไป ต้องการจองห้อง วันที่ 2011-11-19 to 2011-11-20
 
 ซึ่งเมื่อลองใช้ between  จะกลายเป็นว่าไม่เห็น record ที่จองไป 2011-11-15 to 2011-11-30
 
 ในลักษณะนี้พอมีคำแนะนำไหมครับ อยากเขียนให้เช็คว่า 2011-11-15 to 2011-11-30 มีการจองไปแล้ว 1 ห้อง  เหลืออีก 1 ห้อง
 
 แต่ปัจจุบัน ผลลัพธ์ที่ได้คือ
 
 
 จองระหว่างวันที่ 2011-11-19 to 2011-11-20 ผลลัพธ์ที่ได้คือ ห้องว่าง 2 ห้อง
 
 
 สืบเนื่องจากกระทู้  https://www.thaicreate.com/php/forum/069289.html#5 นี้นะครับ
 
 
 ขอคำปรึกษาด้วยนะครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2011-11-20 18:51:01 | By :
                            asustak |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมเจอปํญหาเดียวกับด้านบนเลยครับช่วยน่ะนำหน่อยน่ะครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2012-05-05 22:42:57 | By :
                            sdcard |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |