จะเอาค่าที่ได้จากการวนลูป เทียบกับค่าที่อยู่ในฐานข้อมูล ได้ยังไง

จะเอาค่าที่ได้จากการวนลูป เทียบกับค่าที่อยู่ในฐานข้อมูล ได้ยังไง
ผมวนลูปดึงเอาเฉพาะวันเสาร์ขึ้นมา แล้วต้องการเปรียบเทียบกับข้อมูลที่อยู่ใน DB 

   ถ้า วันที่ในลูป = วันที่ใน DB ให้แสดงรหัสพนักงานออกมาแสดงในตาราง



ตอนนี้ถ้าข้อมูลมันไม่ตรงกัน หรือใน DB ไม่มีเรคคอร์ดให้เปรียบเทียบ ในตารางแสดงผลมันจะเป็นช่องทึบๆ 

คืออยากให้มันแสดงผลเป็นคำว่า ว่าง แทน ช่วยแนะนำหน่อยครับ



อันนี้เป็น code ครับ


    <?


    include "function.inc.php";


    include "conn.php";


    $strStartDate = date("Y")."-01-01";


    $strEndDate = date("Y-m-d");


    $yearnow = date ("Y")+543;


     


    $intWorkDay = 0;


    $intHoliday = 0;


    $intPublicHoliday = 0;


    $intTotalDay = ((strtotime($strEndDate) - strtotime($strStartDate))/  ( 60 * 60 * 24 )) + 1; 


    echo"<center>";


    echo"<table width=\"450\" cellpadding=\"1\" cellspacing=\"1\" border=\"0\" style='background:#8B658B;' >";


    echo"<td align=\"center\"><b><font color=\"FFFFFF\">แถว 1</font></b></td>";


    echo"<td align=\"center\"><b><font color=\"FFFFFF\">แถว 2</font></b></td>";


    while (strtotime($strStartDate) <= strtotime($strEndDate)) {


     $DayOfWeek = date("w", strtotime($strStartDate));


      if($DayOfWeek ==6)  // 0 = Sunday, 6 = Saturday;


    {


    $intHoliday++;


    echo"<tr height=\"22\" bgcolor=\"#FFFFFF\">";


     echo"<td align=\"center\">$strStartDate</td>";


     $sql_chk_call="Select tb_oncall.*,users.U_username,users.U_name,users.U_surname from tb_oncall INNER JOIN users ON tb_oncall.call_user=users.U_username WHERE tb_oncall.U_province=30 order by call_id asc";


     mysql_query("SET NAMES tis620");


    $rs_call=mysql_query($sql_chk_call);


    while ($result=mysql_fetch_array($rs_call)) 


    {


    if($strStartDate==$result['call_date'])


    {


    if($result['call_user'] == "" )


    {


    echo"<td align=\"center\">ว่าง</td>";


    }else {


     echo"<td align=\"center\">".$result['call_user']."</td>";        


    }


    }


    }


    }


    $strStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($strStartDate)));


    }


    echo"</table>";


    echo"</center>";


    echo"</form>";


    ?>



อันนี้ในฐานข้อมูล


    
        
            
            
            
            
        
    

                call_id

                call_date

                call_user

                U_province  


    
        
            
            
            
            
        
    

                3

                2012-01-14

                1618

                30


    
        
            
            
            
            
        
    

                4

                2012-01-21

                3278

                30


    
        
            
            
            
            
        
    

                5

                2012-01-28

                1609

                30



06 มิ.ย. 2555 2 1,567

555++



ดูแล้วงง ... มีตัวช่วยให้แบบนี้นะครับ



SQL ีคำสั่งหาวันในสัปดาห์ด้วยคำสั่งนี้



DAYOFWEEK(create_date)



ผลลัพท์จะได้เป็น 1=วันอาทิตย์ ดังนั้นวันที่ต้องการคือวันเสาร์จะได้



SELECT * FROM table WHERE DAYOFWEEK(create_date)=7



คือ query เฉพาะวันเสาร์ ครับ
#1

อธิบายเองยัง งง เองเลยครับ คือแค่อยากทำระบบลงเวลา 

เงื่อนไข

- เอาเฉพาะวันเสาร์ ตั้งแต่เสาร์แรกของปี จนถึงเสาร์ปัจจุบัน

- ถ้ามีการบันทึกวันลงฐานข้อมูลแล้ว user ที่มี U_province เหมือนกันจะไม่สามารถลงซ้ำได้





#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^