สอบถามครับ Update ข้อมูลลง database โดยใช้ checkbox เป็นเงื่อนไข
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามครับ Update ข้อมูลลง database โดยใช้ checkbox เป็นเงื่อนไข
สอบถามครับ Update ข้อมูลลง database โดยใช้ checkbox เป็นเงื่อนไข
ผมเขียนโปรแกรมที่ให้ผู้ใช้เลือกข้อมูลที่ต้องการจะอัพเดทผ่าน checkbox ครับโดยตอนนี้ติดปัญหาที่ว่ากด submit แล้วค่าไม่เข้าไปที่ database ลองกดแล้วให้เด้ง echo alert ก็ไม่ขึ้นเหมือนกันครับ
เงื่อนไข เช็ค checkbox เพื่อลง database ครับ
เงื่อนไข เช็ค checkbox เพื่อลง database ครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php $CheckBox = $_POST [ "dataset" ]; if (isset( $_POST [ "Submit" ])) { if ( empty ( $CheckBox ) || $CheckBox == 0 ) { echo "Please select data after click submit !!" ; } else { foreach ( $_POST [ "dataset" ] as $i ) { $query = "INSERT INTO r (id,accountcode,orders) VALUES( '{$_POST[' txtID '][$i]}' , '{$_POST[' txtACC '][$i]}' , '{$_POST[' txtITM '][$i]}' )"; $Q_INSERT = mysqli_query( $conn , $query ); } } if ( $Q_INSERT ) { echo "<script> alert('SUCCESS !')</script>" ; } } ?> อันนี้ส่วนของตารางข้อมูลและ checkbox ครับ <tr> <td><center><input type= "hidden" name= "txtID[]" id= "txtID" value= "<?php echo $ven2[" id "];?>" ><?php echo $ven2 [ "id" ];?></center></td> <td><center><input type= "hidden" name= "txtACC[]" id= "txtACC" value= "<?php echo $ven2[" acc_name "];?>" ><?php echo $ven2 [ "acc_name" ];?></center></td> <td><input type= "hidden" name= "txtITM[]" id= "txtITM" value= "<?php echo $ven2[" item_name "];?>" ><?php echo $ven2 [ "item_name" ];?></td> <td><center><input type= "checkbox" name= "dataset[]" id= "dataset" value= "<?php echo $i++; ?>" ></center></td> </tr> หน้าตาของเว็บโดยคร่าวๆครับ จริงๆมีรายการมากกว่านี้ |

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
เพิ่มเติมโค้ดในส่วนของตารางแสดงข้อมูลครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <table width= "75%" border= "1" id= "myTable" > <thead> <tr> <th width= "5%" ><div align= "center" >No.</div></th> <th width= "10%" ><div align= "center" >ACCOUNT CODE</div></th> <th width= "25%" ><div align= "center" >ITEM NAME</div></th> <th width= "5%" ><div align= "center" ></div></th> </tr> </thead> <tbody> <?php $i =0; while ( $i < $numr && $ven2 = $ven ->fetch_assoc()) { ?> <tr> <td><center><input type= "hidden" name= "txtID[]" id= "txtID" value= "<?php echo $ven2[" id "];?>" ><?php echo $ven2 [ "id" ];?></center></td> <td><center><input type= "hidden" name= "txtACC[]" id= "txtACC" value= "<?php echo $ven2[" acc_name "];?>" ><?php echo $ven2 [ "acc_name" ];?></center></td> <td><input type= "hidden" name= "txtITM[]" id= "txtITM" value= "<?php echo $ven2[" item_name "];?>" ><?php echo $ven2 [ "item_name" ];?></td> <td><center><input type= "checkbox" name= "dataset[]" id= "dataset" value= "<?php echo $i++; ?>" ></center></td> </tr> <?php } ?> </tbody> </table> |

ความคิดเห็นที่
2
ลองกำหนด key ให้กับ element ที่เป็น array โดยใช้ค่าที่เป็น unique เช่น
หรือดูเนื้อหาจากบทความด้านล่างเป็นแนวทาง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $i =0; while ( $i < $numr && $ven2 = $ven ->fetch_assoc()) { ?> <tr> <td><center><input type= "hidden" name= "txtID[<?php echo $ven2[" id "];?>]" id= "txtID" value= "<?php echo $ven2[" id "];?>" ><?php echo $ven2 [ "id" ];?></center></td> <td><center><input type= "hidden" name= "txtACC[<?php echo $ven2[" id "];?>]" id= "txtACC" value= "<?php echo $ven2[" acc_name "];?>" ><?php echo $ven2 [ "acc_name" ];?></center></td> <td><input type= "hidden" name= "txtITM[<?php echo $ven2[" id "];?>]" id= "txtITM" value= "<?php echo $ven2[" item_name "];?>" ><?php echo $ven2 [ "item_name" ];?></td> <td><center><input type= "checkbox" name= "dataset[<?php echo $ven2[" id "];?>]" id= "dataset" value= "<?php echo $i++; ?>" ></center></td> </tr> <?php } ?> |
หรือดูเนื้อหาจากบทความด้านล่างเป็นแนวทาง
บทความแนะนำที่เกี่ยวข้อง | |
---|---|
แนวทางการส่งค่า จาก checkbox เพื่อบันทึกข้อมูลแบบ array ใน php | อ่าน 34,605 |

ความคิดเห็นที่
3
คุณนิคครับ ถ้าผมเปลี่ยนเป็นแบบใช้ key แบบ unique แล้วเงือนไขตอน checkbox ถูกติ๊กแล้วอัพลงดาต้าเบสต้องเปลี่ยนรึป่าวครับ

ความคิดเห็นที่
4
ตอนนี้ได้แล้วครับขอบคุณมากครับคุณนิค ถ้าผมอยากให้สามารถกลับมารับค่าเพิ่มได้จากหน้าแรก ต้องทำยังไงครับโดยที่ค่าเก่ายังคงอยู่และสามารถแสดงพร้อมกันได้

ความคิดเห็นที่
5
ไม่สามารถรับค่าในกรณีที่ติ๊กเลือกข้อมูลในหลายหน้าได้ครับ
ถ้าเลือกข้อมูลหน้า 1 กับ หน้า 2 มันจะรับค่าเฉพาะหน้าปัจจุบันตอนกดปุ่ม submit ครับ
ถ้าเลือกข้อมูลหน้า 1 กับ หน้า 2 มันจะรับค่าเฉพาะหน้าปัจจุบันตอนกดปุ่ม submit ครับ

ความคิดเห็นที่
6
ฟอร์มข้อมูล ปกติทั่วไป ก็จะอยู่แค่หน้าเดียว แต่ถ้าจะใช้หลายหน้าส่งข้อมูล ต้องประยุกต์
โดยทำความเข้าใจเกี่ยวกับ cookie หรือ session เพิ่มเติม
ลองดูเนื้อหาบทความ ด้านล่างเป็นแนวทาง
โดยทำความเข้าใจเกี่ยวกับ cookie หรือ session เพิ่มเติม
ลองดูเนื้อหาบทความ ด้านล่างเป็นแนวทาง
บทความแนะนำที่เกี่ยวข้อง | |
---|---|
เลือก checkbox ในข้อมูลหลายๆ หน้าด้วย cookie อย่างง่าย | อ่าน 11,452 |

ความคิดเห็นที่
7
ขอบคุณมากครับคุณนิค ตอนนี้ติดในส่วนของ ช่อง checkbox อ่ะครับมันหาค่าตัวแปรของ chkbox_all , chkbox ไม่เจอครับ
ในส่วนของ chkbox_all ที่่หาไม่เจอครับ
ในส่วนของ chkbox_all ที่่หาไม่เจอครับ
1 2 3 4 5 6 7 8 9 10 11 | <?=( $_COOKIE [ 'chkbox_all' ][ $cookie_page ]== $cookie_page )? "checked" : "" ?> ส่วนของ chkbox ครับ <?=( $_COOKIE [ 'chkbox' ][ $rs [ 'id' ]]== $rs [ 'id' ])? "checked" : "" ?> แล้วถ้ากด next page ไปถึงหน้า 5 ก็จะไม่พบค่าของ nClass ด้วยครับ echo "<a $nClass href='$urlquery_str" . "pages=1'>1</a><a class='SpaceC'>. . .</a>" ; รบกวนด้วยครับ |

1 |
1 |
1 |

ความคิดเห็นที่
8
ตอนนี้ในส่วนของ nClass แก้ไขได้แล้วครับเหลือ แค่ chkbox_all กับ chkbox ครับ

ความคิดเห็นที่
9
รุปประกอบครับ
![]()
แต่หลังจากทำการติ๊กไปที่ row ใด row หนึ่งแล้ว กด เปลี่ยนหน้า ไป-กลับ หรือกด Reload page
ก็จะได้มาเป็นปกติแบบนี้ครับ
![]()
แต่หลังจากทำการติ๊กไปที่ row ใด row หนึ่งแล้ว กด เปลี่ยนหน้า ไป-กลับ หรือกด Reload page
ก็จะได้มาเป็นปกติแบบนี้ครับ

ความคิดเห็นที่
10
ถ้าหมายถึงการแจ้งเตือน กรณีเรียกใช้งานตัวแปร ที่ยังไม่มีการประกาศตัวแปรมาก่อน ลองใช้ คำสั่ง isset() && เพิ่มเข้าไป
1 | <?=(isset( $_COOKIE [ 'chkbox' ][ $rs [ 'id' ]]) && $_COOKIE [ 'chkbox' ][ $rs [ 'id' ]]== $rs [ 'id' ])? "checked" : "" ?> |

ขอบคุณทุกการสนับสนุน
![]()