GORAGOD.com

freelance, web developer, web designer, hosting, domain name

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

จะเอาค่าที่ได้จากการวนลูป เทียบกับค่าที่อยู่ในฐานข้อมูล ได้ยังไง
ผมวนลูปดึงเอาเฉพาะวันเสาร์ขึ้นมา แล้วต้องการเปรียบเทียบกับข้อมูลที่อยู่ใน 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 2,498

555++



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



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



DAYOFWEEK(create_date)



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



SELECT * FROM table WHERE DAYOFWEEK(create_date)=7



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

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

เงื่อนไข

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

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





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