$large_bus_select = array('4','5');
$booking_id = 35;
for($small=0;$small<count($large_bus_select);$small++) {
$query = "update booking_detail set booking_detail_busid='".$large_bus_select[$small]."' where booking_detail_bookid='$booking_id' and booking_detail_sizebus='1' ";
print_r($query);
echo '<br />';
}
โค้ดตามบนจะได้ตามนี้
update booking_detail set booking_detail_busid='4' where booking_detail_bookid='35' and booking_detail_sizebus='1'
update booking_detail set booking_detail_busid='5' where booking_detail_bookid='35' and booking_detail_sizebus='1'
update booking_detail set booking_detail_busid='4' where booking_detail_bookid='35' and booking_detail_sizebus='1'
update booking_detail set booking_detail_busid='5' where booking_detail_bookid='35' and booking_detail_sizebus='1'
ดูสองคำสั่งนี้ให้ดีครับ ต่างกันที่การ set ครับ แต่ where clause เหมือนกัน
เมื่อมันทำ รายการแรกเสร็จแล้ว เปลี่ยนเป็น 4 เรียบร้อยแล้ว แต่ว่ารายการแรกก็ยังอยู่ในเงื่อนไขของ คำสั่งที่สองครับ
เมื่อทำงานตามคำสั่งที่สอง มันเลยเปลี่ยนตามคำสั่งสองด้วยครับ ครับ
เขียน where clause ซ้ำซ้อนกันครับ เช็คให้ดีครับว่าต้องการแบบไหนแน่ๆ