สอบถามการบันทึกค่า checkbox ลงฐานข้อมูล
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามการบันทึกค่า checkbox ลงฐานข้อมูล
สอบถามการบันทึกค่า checkbox ลงฐานข้อมูล
สวัสดีครับ คือผมต้องการจะใช้ checkbox เก็บค่าลง ฐานข้อมูลแยก filed แต่ตอนนี้คือมันส่งแต่ค่าสุดท้ายที่เลือกลงฐานข้อมูลแทนครับ
ฐานข้อมูลตาราง student
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 34 | CREATE TABLE `student` ( `id` int (10) NOT NULL auto_increment, `idcard` varchar (18) character set utf8 collate utf8_bin NOT NULL , `userid` varchar (100) NOT NULL , ` password ` varchar (100) character set utf8 collate utf8_bin NOT NULL , ` name ` varchar (1000) character set utf8 collate utf8_bin NOT NULL , `sex` varchar (5) character set utf8 collate utf8_bin NOT NULL , `class` int (10) NOT NULL , `room` int (10) NOT NULL , `num` int (5) NOT NULL , `name_parent` varchar (100) character set utf8 collate utf8_bin NOT NULL , `tel` varchar (11) character set utf8 collate utf8_bin NOT NULL , `teacher_id_1` varchar (100) character set utf8 collate utf8_bin NOT NULL COMMENT 'teacher_id_1' , `teacher_id_2` varchar (100) character set utf8 collate utf8_bin NOT NULL COMMENT 'teacher_id_1' , `address` varchar (1000) character set utf8 collate utf8_bin NOT NULL , `score_bad` int (3) NOT NULL , `score_good` int (3) NOT NULL , PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; -- -- Dumping data for table `student` -- INSERT INTO `student` VALUES (1, 0x31313131313131313131313031, '11101' , 0x3131313031, 0xe0b980e0b894e0b987e0b881e0b88ae0b8b2e0b8a2e0b8abe0b899e0b8b6e0b988e0b88720e0b984e0b8a1e0b988e0b8a1e0b8b5e0b8aae0b8ade0b887, 0x2d, 1, 1, 1, 0xe0b899e0b8b2e0b8a2e0b981e0b894e0b88720e0b984e0b8a1e0b988e0b8a1e0b8b5e0b8aae0b8ade0b887, 0x30383132333435363738, 0x31313031, '' , 0x2d, 10, 0); INSERT INTO `student` VALUES (2, 0x31313131313131313131313032, '11102' , 0x3131313032, 0xe0b980e0b894e0b987e0b881e0b88ae0b8b2e0b8a2e0b980e0b89ae0b98ae0b899e0b88be0b98c20e0b8a3e0b896e0b88be0b8b4e0b988e0b887, 0x2d, 1, 1, 2, 0xe0b899e0b8b2e0b8a2e0b982e0b8ade0b8a3e0b8aa20e0b8a3e0b896e0b88be0b8b4e0b988e0b887, 0x30383132333435363739, 0x31313031, '' , 0x2d, 10, 0); INSERT INTO `student` VALUES (3, 0x31313131313131313131313033, '11103' , 0x3131313033, 0xe0b980e0b894e0b987e0b881e0b88ae0b8b2e0b8a2e0b894e0b8b320e0b983e0b888e0b980e0b894e0b8b5e0b8a2e0b8a7, 0x2d, 1, 1, 3, 0xe0b899e0b8b2e0b887e0b894e0b8b520e0b983e0b888e0b980e0b894e0b8b5e0b8a2e0b8a7, 0x30383132333435363830, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (4, 0x31313131313131313131313034, '11104' , 0x3131313034, 0xe0b980e0b894e0b987e0b881e0b88ae0b8b2e0b8a2e0b8aae0b8a1e0b89ee0b887e0b8a9e0b98c20e0b884e0b887e0b8a3e0b8b7e0b988e0b899, 0x2d, 1, 1, 4, 0xe0b899e0b8b2e0b887e0b89ee0b8a3e0b8ade0b8b8e0b8a1e0b8b220e0b884e0b887e0b8a3e0b8b7e0b988e0b899, 0x30383132333435363831, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (5, 0x31313131313131313131313035, '11105' , 0x3131313035, 0xe0b980e0b894e0b987e0b881e0b88ae0b8b2e0b8a2e0b8aae0b8a1e0b88ae0b8b2e0b895e0b8b420e0b8a3e0b8b8e0b988e0b887e0b980e0b8a3e0b8b7e0b8ade0b887e0b984e0b897e0b8a2, 0x2d, 1, 1, 5, 0xe0b899e0b8b2e0b8a2e0b88ae0b8b1e0b8a2e0b8a7e0b8b1e0b892e0b899e0b98c20e0b8a3e0b8b8e0b988e0b887e0b980e0b8a3e0b8b7e0b8ade0b887e0b984e0b897e0b8a2, 0x30383132333435363832, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (6, 0x31313131313131313131313036, '11106' , 0x3131313036, 0xe0b980e0b894e0b987e0b881e0b8abe0b88de0b8b4e0b887e0b983e0b89ae0b89ae0b8b1e0b8a720e0b888e0b887e0b8a3e0b8b1e0b881e0b8a9e0b98ce0b88ae0b8b2e0b895e0b8b4, 0x2d, 1, 1, 6, 0xe0b899e0b8b2e0b887e0b981e0b8a1e0b989e0b89920e0b888e0b887e0b8a3e0b8b1e0b881e0b8a9e0b98ce0b88ae0b8b2e0b895e0b8b4, 0x30383132333435363833, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (7, 0x31313131313131313131313037, '11107' , 0x3131313037, 0xe0b980e0b894e0b987e0b881e0b8abe0b88de0b8b4e0b887e0b982e0b89ae0b899e0b8b1e0b8aa20e0b981e0b8a3e0b899e0b894e0b8b2e0b8a5, 0x2d, 1, 1, 7, 0xe0b899e0b8b2e0b8a2e0b8aae0b8a1e0b8b4e0b89720e0b981e0b8a3e0b899e0b894e0b8b2e0b8a5, 0x30383132333435363834, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (8, 0x31313131313131313131313038, '11108' , 0x3131313038, 0xe0b980e0b894e0b987e0b881e0b8abe0b88de0b8b4e0b887e0b89ee0b8a3e0b8a4e0b894e0b8b520e0b8a8e0b8a3e0b8b5e0b8aae0b8b8e0b89ee0b887e0b8a9e0b98c, 0x2d, 1, 1, 8, 0xe0b899e0b8b2e0b887e0b89ee0b8a3e0b8a4e0b897e0b8b1e0b8a220e0b8a8e0b8a3e0b8b5e0b8aae0b8b8e0b89ee0b887e0b8a9e0b98c, 0x30383132333435363835, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (9, 0x31313131313131313131313039, '11109' , 0x3131313039, 0xe0b980e0b894e0b987e0b881e0b8abe0b88de0b8b4e0b887e0b89ee0b8ade0b983e0b88820e0b89ee0b8ade0b980e0b89ee0b8b5e0b8a2e0b887, 0x2d, 1, 1, 9, 0xe0b899e0b8b2e0b887e0b8aae0b8b2e0b8a7e0b89ee0b8ade0b894e0b8b520e0b89ee0b8ade0b980e0b89ee0b8b5e0b8a2e0b887, 0x30383132333435363836, 0x31313031, '' , 0x2d, 0, 0); INSERT INTO `student` VALUES (10, 0x31313131313131313131313130, '11110' , 0x3131313130, 0xe0b980e0b894e0b987e0b881e0b8abe0b88de0b8b4e0b887e0b899e0b88120e0b8a3e0b8b1e0b881e0b8a9e0b98ce0b984e0b897e0b8a2, 0x2d, 1, 1, 10, 0xe0b899e0b8b2e0b8a2e0b88ae0b8b7e0b988e0b89920e0b8a3e0b8b1e0b881e0b8a9e0b98ce0b984e0b897e0b8a2, 0x30383132333435363837, 0x31313031, '' , 0x2d, 0, 0); |
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 34 35 36 37 38 39 40 | <html> <head> <title>check box page</title> <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" > </head> <body> <?php include ( "connect.php" ); $sql = "select * from student where" ; $objQuery = mysql_query( $sql ); ?> <form name= "form1" method= "post" action= "add.php" > <table border= "1" > <tr> <th>userid</th> <th>CH1</th> <th>CH2</th> <th>CH3</th> <th>CH4</th> </tr> <?php while ( $objResult = mysql_fetch_array( $objQuery )) { ?> <tr> <td><?php echo $objResult [ "userid" ]; ?></td><input type= "hidden" id= "userid" name= "userid" value= "<?php echo $objResult[" userid "]; ?>" > <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "1" >1</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "2" >2</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "3" >3</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "4" >4</td> </tr> <?php } ?> </table> <input type= "submit" name= "Submit" value= "บันทึกข้อมูล" > </form> </body> </html> |
หน้าบันทึกข้อมูล (add.php)
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 34 35 36 37 38 39 | <?php include ( "connect.php" ); $ch1 = $_POST [ "ch1" ]; $ch2 = $_POST [ "ch2" ]; $ch3 = $_POST [ "ch3" ]; $ch4 = $_POST [ "ch4" ]; $sql = "SELECT COUNT(*) FROM student WHERE class = '1' and room = '1'" ; $query = mysql_query( $sql ); $res = mysql_fetch_array( $query ); $sum = $res [0]; $strSQL = "SELECT * FROM student WHERE class = '1' and room = '1'" ; $objQuery = mysql_query( $strSQL ); while ( $objResult = mysql_fetch_array( $objQuery )) { $sql1 = "insert into chbox (userid, ch1, ch2, ch3, ch4) " ; $sql1 .= "values " ; $sql1 .= "('$objResult[userid]', '" . $_POST [ "$objResult[userid]" ]. "' , '$ch2', '$ch3', '$ch4')" ; //กำหนดค่าตัวแปลที่เราส่งมา $dbquery = mysql_query( $sql1 ); if ( $dbquery ) { echo "Save Done." ; } else { echo "Error Save [" . $sql1 . "]" ; } } mysql_close(); echo "เก็บข้อมูลเรียบร้อยแล้ว<br>" ; echo "<a href='form.php'>return</a>" ; ?> |
1 | ต้องการแทรกข้อมูล checkbox ลงตารางนี้ครับ |
1 2 3 4 5 6 7 8 9 | CREATE TABLE `chbox` ( `id` int (11) NOT NULL auto_increment, `userid` int (5) NOT NULL , `ch1` int (1) NOT NULL , `ch2` int (1) NOT NULL , `ch3` int (1) NOT NULL , `ch4` int (1) NOT NULL , PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
รบกวนขอคำแนะนำเพิ่มเติมด้วยครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
form element ใดๆ ใน html ถ้าชื่อเหมือนกัน จะใช้ค่าจากตัวสุดท้าย
1 2 3 4 | <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "1" >1</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "2" >2</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "3" >3</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>" value= "4" >4</td> |
name ของทั้ง 4 ตัวเหมือนกัน ตัวที่ถูกติ้กเลือก ตัวสุดท้ายจะถูกส่งค่าไป ให้เปลี่ยนเป็นรูปแบบ array
เช่น
1 2 3 4 | <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>[1]" value= "1" >1</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>[2]" value= "2" >2</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>[3]" value= "3" >3</td> <td><input type= "checkbox" name= "<?php echo $objResult[" userid "]; ?>[4]" value= "4" >4</td> |
เพิ่มเติมที่บทความ
แนวทางการส่งค่า จาก checkbox เพื่อบันทึกข้อมูลแบบ array ใน php http://niik.in/500
https://www.ninenik.com/content.php?arti_id=500 via @ninenik

ความคิดเห็นที่
2
ขอบคุณมากครับ ทำได้แล้ว

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