จาก บทความ เทคนิคการ Query หาห้องพักว่าง

พอดีอ่านแล้วเกิดขึ้นเล่นๆขึ้นมานะครับ ว่าถ้าอยากโชว์ว่าในเดือนนี้มีวันไหนที่มีห้องว่างมั่งจะใช้ sql ยังไง เช่น

ถ้ามี ซัก 3 ห้อง แล้วเดือนนี้มี 30 วัน ถ้าทำตารางแสดงผลน่าจะแนวๆนี้




    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
    
    
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
        
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
            
        
    

                ห้องพัก

                1

                2

                3

                4

                5

                6

                7

                8

                9

                10

                11

                12

                13

                14

                15

                16

                17

                18

                19

                20

                21

                22

                23

                24

                25

                26

                27

                28

                29

                30

                A

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                B

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                C

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 

                 



แล้วอาจแสดงว่าเปนสีก้ได้ครับ สีแดงห้องไม่ว่าง ถ้าไม่มีสีห้องว่าง

ถ้าเป็นผมก้ sql แบบง่ายๆแบบนี้



$sql="SELECT id FROM room";

{

   foreach ($db->customQuery($sql) AS $item) {

       for($i=1;$i<=30;$i++) {

          $check = "SELECT `id` FROM booking WHERE  DATE(cin) = '2012-11-$i'   AND `r_id` = '$item[id]'  ";

       }

   }

}

cin คือวันที checkin



ใครมีแนวอื่นมั๊ยครับ
16 พ.ย. 2555 0 1,464
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^