CoolBook.Info : The Learning of Website Development

PHP, XHTML, CSS, JavaScript, WP, …

ใช้เมื่อฟอร์มมีอินพุทชนิดเดียวกันอยู่เป็นจำนวนมาก เช่น มี Checkbox จำนวน 10 อัน
สามารถใช้ได้กับอินพุททุกประเภท ไม่ว่าจะเป็น Checkcox, Text, Hidden, Textarea หรือ Select

การเตรียมการทางด้าน form
ต้องกำหนดพร็อปเพอร์ตี้ name ของอินพุทชนิด (type) เดียวกัน ที่อยู่ในกลุ่มเดียวกันใหเเป็นชื่อเเดียวกัน และลงท้ายชื่อนั้นด้วย [] เพื่อทำให้อยู่ในรูปแบบอาร์เรย์

ตัวอย่าง
<form method=”post” action “…”>
<input type=”text” name=”mytext[]” /><br />
<input type=”text” name=”mytext[]” /><br />
<input type=”text” name=”mytext[]” /><br />
</form>

การจัดการทางด้านเซอร์ฟเวอร์
ด้านเซิร์ฟเวอร์จะอ่านข้อมูลที่ส่งเข้ามา โดยใข้รูปแบบ

$_POST[ชื่ออินพุท][เลขลำดับ];
หรือ $_GET[ชื่ออินพุท][เลขลำดับ];

เลขลำดับ หมายถึง ลำดับของข้อมูลที่ถูกส่งมายังเซิร์ฟเวอร์ เช่น ถ้ามีอินพุท Text จำนวน 10 อัน อันแรกจะมีลำดับเป็น 0 ต่อไปเป็น 1, 2, 3, … 9  แต่ต้องเปรียบเทียบกันอินพุทที่กำหนดพร็อปเพอร์ตี้ name เหมือนกันเท่านั้น

ตัวอย่าง

$text1 = $_POST['mytext'][0];
$text2 = $_POST['mytext'][1];
$text3 = $_POST['mytext'][2];

สามารถใช้ลูป for หรือ foreach เพื่อดึงข้อมูลได้

$count = count( $_POST['mytext'] ); //จำนวนอินพุท

for ($i = 0; $i < $count; $i++) {
echo $_POST['mytext'][$i] . “<br />”;
}

//หรือใช้แบบ foreach
foreach ($_POST['mytext'] as $value) {

echo $value . “<br />”;

}

ตัวอย่างฟอร์มและการส่งข้อมูลแบบอาร์เรย์

PHP

Sponsors