รายละเอียดของการตอบ ::
เก็บเป็น array ผมว่าไม่น่าถูกต้องนะครับ
ควรจะตั้งชื่อ แยก ไปเลยดีกว่า
เช่น
Code (PHP)
<tr>
<td><input type="checkbox" name="sw_nod">NOD32 Antivirus</td>
</tr>
<tr>
<td><input type="checkbox" name="sw_office">MS Office</td>
</tr>
<tr>
<td><input type="checkbox" name="sw_firefix">Firefix</td>
</tr>
<tr>
<td><input type="checkbox" name="sw_skype">Skype</td>
</tr>
ค่าของ checkbox เมื่อมีการ submit ค่าจะไปเฉพาะ อันที่มีการ checked เท่านั้นครับ
ถ้าเก็บเป็น array แล้ว
ถ้าเกิดว่า ที่ตำแหน่ง index 0 (nod) และ 4 (skype) นั้นมีการ checked
เช่น
Code (PHP)
<tr>
<td><input type="checkbox" name="sw[]" checked>NOD32 Antivirus</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[]">MS Office</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[]">Firefix</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[]" checked>Skype</td>
</tr>
แต่เมื่อ submit form ไปแล้ว
รู้สึกว่า ค่ามันจะมองว่า มี array มาแค่ 2 ตำแหน่ง คือ
sw[0] = 1
sw[1] = 1
แบบนี้ครับ
ซึ่งการใช้งาน checkbox แบบ array
ควรจะมีการ กำหนด index ไว้ที่ form เลย
เช่น
Code (PHP)
<tr>
<td><input type="checkbox" name="sw[1]" checked>NOD32 Antivirus</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[2]">MS Office</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[3]">Firefix</td>
</tr>
<tr>
<td><input type="checkbox" name="sw[4]" checked>Skype</td>
</tr>
ถ้ามีการ fix index ไว้แบบนี้ เมื่อมีการ submit form ไป ค่ามันจะรับได้เป็นแบบนี้ครับ
sw[1] = 1
sw[4] = 1
ไม่แน่ใจว่าผมจะเข้าใจถูกรึเปล่านะครับ