วันพฤหัสบดีที่ 23 พฤษภาคม พ.ศ. 2556

การอ่านค่าจาก check box จาก php script แบบง่าย



สวัสดีครับ พอดีมีคนถามเข้ามาครับ เรื่องจะอ่าน input จาก check box ได้ยังไง ผมว่าเรื่องนี้น่าสนใจดีครับ
เพราะว่าช่วงแรกที่ผมเขียน php ใหม่ๆ ก็เขียนแบบเด็กๆมากเลย โดยตรวจมันหมดทุกตัวเลย ช้าชะมัด หรืออย่างคน
ที่เขียนถามเข้ามาเข้าใจว่าไม่ได้ ตรวจตัวแปรให้ดีเลยทำให้มีปัญหา ผมเลยได้ทำการเสาะแสวงหา code การอ่าน
check box มาลองใช้ดูพบว่า เจ๋งดีครับ เลยเขียนเป็นบทความลงมาให้ดูเผื่อใครอยากรู้บ้าง

วิธีการง่ายๆให้ใช้ array ครับ ยกตัวอย่างเช่น ใน form ของเรามี html ดังนี้นะครับ
------------------------------------------------------------------------------
คุณเลี้ยงอะไรบ้าง?
<FORM>
<INPUT TYPE=checkbox NAME=PET_ARRAY[] value=dog>หมา<br>
<INPUT TYPE=checkbox NAME=PET_ARRAY[] value=cat> แมว<br>
<INPUT TYPE=checkbox NAME=PET_ARRAY[] value=fish> ปลา<br>
</FORM>
------------------------------------------------------------------------------

ถ้าสังเกตุชื่อตัวแปรจะตั้งเป็น PET_ARRAY[] ซึ่งเป็นตัวแปรแบบ array นะครับ ทีนี้ถ้าอยากรู้ว่าผู้ใช้เลือกอะไรบ้างให้ลองดู code นี้ครับ
------------------------------------------------------------------------------
if ($PET_ARRAY)
{
$PET = implode($PET_ARRAY, ",");
$result = mysql_query ("UPDATE dbname SET PET = '$PET'");
if(!$result)
{
echo "<B>UPDATE unsuccessful:</b> ", mysql_error();
exit;
}
}
------------------------------------------------------------------------------
ถ้าสังเกตุอีกจะเห็นว่าเราใช้ฟังก์ชัน implode เพื่อทำให้ $PET เป็นข้อความที่ถูกคั่นด้วย comma ครับ หรือหากใครต้องการใช้ทีละตัว ก็อาจใช้ code
ได้ดังนี้ครับ
------------------------------------------------------------------------------
for ($i=0;$i<count($PET_ARRAY);$i++) {
$PET = $PET_ARRAY[$i];
echo $PET."<br>";
mysql_query("UPDATE dbname SET PET='$PET'");
}
------------------------------------------------------------------------------
อะไรทำนองนี้ครับ ลองเอาเทคนิคนี้ไปใช้ดูครับ ช่วยได้เยอะทีเดียวครับ ถ้างงๆ ก็ถามเพิ่มเติมเข้ามาได้ครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น