Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ต้องการให้ checkbox และ radio มีการเก็บค่าลง DB และเรียกค่าจาก DB มาใช้งาน



 

ต้องการให้ checkbox และ radio มีการเก็บค่าลง DB และเรียกค่าจาก DB มาใช้งาน

 



Topic : 073758

Guest




ต้องการให้ checkbox และ radio มีการเก็บค่าลง DB และเรียกค่าจาก DB มาแสดงผลครับ

ตัวอย่างโปรแกรมของผมคือ..

Code (PHP)
<tr bgcolor="#FFFFFF">
    <td>Service Pack <input type="radio" name="sp" value="1">1<input type="radio" name="sp" value="2">2<input type="radio" name="sp" value="3">3<input type="radio" name="sp" value="4">4</td>
</tr>
<tr>
    <td><input type="checkbox" name="sw[]">NOD32 Antivirus</td>
</tr>


ส่วนแรกคือ radio เป็นการเลือกค่า 1-4

ส่วน checkbox อยากเก็บแค่ 0 กับ 1 (1 คือมีการใช้งานโปรแกรม nod32 , 0 คือไม่มีการใช้งาน)

หลังจากนั้นถ้าจะแสดงผลก็ให้มันโชว์รูป เครื่องหมาย = ค่าที่เก็บเป็น 1 หรือ 0 น่ะครับ

ทำยังไงครับ รบกวนด้วยครับ



Tag : PHP, MySQL, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-13 14:55:04 By : พี่หมี View : 14099 Reply : 4
 

 

No. 1

Guest


ขอแก้ไขนิดนึงครับ

ตรง

<tr>
    <td><input type="checkbox" name="sw[]">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[]">Skype</td>
</tr>


ผมต้องการเก็บค่าแค่ 0 กับ 1 คือ ใช้ และ ไม่ใช้งาน

เก็บแบบเป็น array แบบนี้จะถุกต้องมั้ยครับ เพราะในฟอร์มนี้มีทั้ง textbox radio checkbox

กลัวมันจะทำงานชนกัน






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-13 15:04:55 By : พี่หมี
 


 

No. 2



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


ทำไม checkbox ถึงเป็น array ครับ
<input type="checkbox" name="sw[]">

อันนี้คือที่แก้ ครับ

form กรอกข้อมูล
Code (PHP)
<tr bgcolor="#FFFFFF">
    <td>Service Pack 
        <input type="radio" name="sp" value="1">1
        <input type="radio" name="sp" value="2">2
        <input type="radio" name="sp" value="3">3
        <input type="radio" name="sp" value="4">4
    </td>
</tr>
<tr>
    <td><input type="checkbox" name="sw" value="1">NOD32 Antivirus</td>
</tr>


หลักหลังจาก submit form
ค่าจาก radio จะไปเฉพาะค่าที่ถูกเลือกอยู่ครับ
เช่น มี radio อยู่ 4 อัน name="sp" ซึ่งเหมือนกันหมดทั้ง 4 อันแต่ แตกต่างที่ value
ถ้ามีการ submit form ค่าจะไปเฉพาะ radio อันที่ถูก ติ๊กเลือกครับ แล้ว value จะมีค่าคือ อันที่ถูกติ๊กเลือก

ส่วน checkbox
ถ้า checkbox อันนั้น มีการ ติ๊กเลือก หลังจากการ submit form ค่า ก็จะไปเป็นตามที่เรา กำหนดใน value ไว้ครับ
แต่ถ้าไม่มีการติ๊กเลือก ก็จะไม่มีค่า ส่งไป หลังจาก submit form



ส่วนวิธีการดึงค่าจาก database กลับมาแสดง
Code (PHP)
<tr bgcolor="#FFFFFF">
    <td>Service Pack 
        <input type="radio" name="sp" value="1" <?php if($db["radio"] == 1) echo "checked"; ?>>1
        <input type="radio" name="sp" value="2" <?php if($db["radio"] == 2) echo "checked"; ?>>2
        <input type="radio" name="sp" value="3" <?php if($db["radio"] == 3) echo "checked"; ?>>3
        <input type="radio" name="sp" value="4" <?php if($db["radio"] == 4) echo "checked"; ?>>4
    </td>
</tr>
<tr>
    <td><input type="checkbox" name="sw" value="1" <?php if($db["checkbox"] == 1) echo "checked"; ?>>NOD32 Antivirus</td>
</tr>


หลักการคือ เขียนโค้ด php แทรกลงไปใน tag ของ radio เพื่อเช็คว่า ค่าที่ดึงมาจาก database ($db["radio"]) นั้นคือค่าที่กำหนดหรือไม่ ถ้าใช่ ให้ echo คำว่า checked ซึ่ง ปกติแล้ว tag input radio หรือ checkbox นั้น default ของมันคือ ไม่มีการติ๊กเลือก
แต่ถ้าจะให้ติ๊กเลือก ต้องใส่ checked ลงไปใน tag ด้วยครับ
<input type="radio" name="sp" value="1" checked>
<input type="checkbox" name="sw" checked>
แบบนี้คือ default ว่า ให้ติ๊กเลือกไว้ครับ

ส่วนของ checkbox หลักการคือก็คล้ายๆกับของ radio ครับ เช็คก่อนว่าคาจาก database ใช่ 1 หรือเปล่า ถ้าใช่ ให้ echo checked
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-13 15:11:38 By : Likito
 

 

No. 3



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : พี่หมี เมื่อวันที่ 2012-02-13 15:04:55
รายละเอียดของการตอบ ::
เก็บเป็น 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


ไม่แน่ใจว่าผมจะเข้าใจถูกรึเปล่านะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-13 15:22:13 By : Likito
 


 

No. 4

Guest


Code (Java)
Code (Android-Java)
[java]Code (PHP)

[/java]
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-01 15:10:08 By : supaporn pengpour
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการให้ checkbox และ radio มีการเก็บค่าลง DB และเรียกค่าจาก DB มาใช้งาน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่