Thu 17 Nov 2005 13:26:11
สมมติว่า มีข้อมูล ตัวอย่างดังนี้ค่ะ
ประเภทที่ 1 ห้อง ราคา จำนวน
ประเภทที่ 2 ห้อง ราคา จำนวน
ประเภทที่ 3 ห้อง ราคา จำนวน
ต้องการให้แสดง ประเภท เป็น checkbox ค่ะ ห้อง ราคา จำนวน เป็น textbox
เรียงเป็น แถวๆๆ กันไป ทั้งสามประเภท ค่ะ
ถ้าสมมติว่า มี n ประเภท ก็แสดง เรียงเป็นแถวๆ ให้หมดทั้ง n ประเภทเลย ค่ะ
ขอบคุณมากค่ะ
<?
for($i=0; $i<จำนวนห้อง; $i++){
echo "<tr><td><input type=\"checkbox\" name=\"room_id\" value=\"".($i+1)."\" >ประเภทที่ ".($i+1)." ห้อง</td><td>ราคา ....</td><td>จำนวน <input type=\"text\" name=\"qty[]\" value=\"0\"></td></tr>";
}
?>
</table>
เป็นตัวอย่างนะครับ ลองเอาไปทดสอบดูครับ ซึ่งจากด้านบนจะเป็นการวน loop เพื่อแสดงข้อมูลซ้ำๆกันตามต้องการครับ
โดยเมื่อมีการส่งค่าไปยัง script จะเป็นการส่งตัวแปรในลักษณะ array ของข้อมูลครับ ซึ่งจะมีประโยชน์ในการทำงานสูงกว่าครับ
Thu 17 Nov 2005 15:46:58
หน้ารับข้อมูลจากฟอร์ม ติดปัญหาตรงที่ว่า มันจะ insert ข้อมูลของ array ตัวสุดท้ายให้
ที่อยากได้ คือ ให้มัน insert ทุก checkbox ที่เลือกอะคะ ขอบคุณมากๆๆ ค่ะ
แล้วโค้ดอันนี้มันผิดพลาดตรงไหนคะ
for($i=0;$i<count($_POST['room_id']);$i++){
$strSQL ="insert into myroom(room,price,room_total,reserve)";
$strSQL =$strSQL."values('$room_id[$i]','$price[$i]','$room_total[$i]','$reserve[$i]')";
echo $room_id[$i]."-";
echo $price[$i]."-";;
echo $room_total[$i]."-";
echo $reserve[$i]."-"."<br>";
}
<table>
<?
for($i=0; $i<จำนวนห้อง; $i++){
echo "<tr><td><input type=\"checkbox\" name=\"room_id[]\" value=\"".($i+1)."\" >ประเภทที่ ".($i+1)." ห้อง</td><td>ราคา ....</td><td>จำนวน <input type=\"text\" name=\"qty[]\" value=\"0\"></td></tr>";
}
?>
</table>
ส่วนโค๊ดข้างล่างนั้นจะเกิด warning เมื่อใช้บน PHP ที่ global_register เป็น off ครับ
การอ้างตัวแปรควรจะอ้างจาก predefine global variables ครับ เช่น
echo $_POST["room_id"][$i]."-";
echo $_POST["price"][$i]."-";;
echo $_POST["room_total"][$i]."-";
echo $_POST["reserve"][$i]."-"."<br>";
ลองดูนะครับ

















