У меня проблема с хранением значений флажка в mysql db (в базе данных хранится только последнее значение). Как я могу исправить этот код для хранения всех отмеченных значений?
<label class="q" for="q1">Which, if any, of these activities did you do on the Internet in the last 30 days? </label><br><br> <input name="q1[]" type="checkbox" value="a1">Used e-mail<br> <input name="q1[]" type="checkbox" value="a2">Used instant messenger & chat room<br> <input name="q1[]" type="checkbox" value="a3">Made a purchase for personal use<br> <input name="q1[]" type="checkbox" value="a4">Downloaded/Played a video game<br> <input name="q1[]" type="checkbox" value="a5">Obtained news/information/current events<br> <input name="q1[]" type="checkbox" value="a6">Looked for employment (Used classified listings)<br> <input name="q1[]" type="checkbox" value="a7">Looked for recipes<br> <input name="q1[]" type="checkbox" value="a8">Downloaded a movie<br> <br> <?php include('config.php'); $tbl_name="temp_members_db"; $q1=$_POST['q1']; $sql="INSERT INTO $tbl_name(q1)VALUES('$q1')"; ?>
Вы можете использовать implode
http://php.net/manual/en/function.implode.php
$q1=implode(',', $_POST['q1']);
<html> <head><title>Example</title></head> <body> <form action="" method="post"> <table width="50%"> <tr> <td><input type="checkbox"name="boxes[]"value="8am">1</input></td> <td>8am</td> </tr> <tr> <td><inputtype="checkbox"name="boxes[]"value="9am">2</input></td> <td>9am</td> </tr> <tr> <td><input type="checkbox"name="boxes[]"value="10am">3</input></td> <td>10am</td> </tr> </table> <input type="submit" name="submit"> </form> <?php if(isset($_POST['submit'])){ require_once("config.php"); if(isset($_POST['boxes'])){ $t1=implode(',', $_POST['boxes']); $s = "insert into new(time) values('$t1')"; $res=mysql_query($s); if($res){ echo "insert success"; }else{ echo "error in inserting"; } } } ?> </body> </html>
пожалуйста, попробуйте это.
Я столкнулся с той же проблемой для флажков imode () работает как шарм. Для переключателей вам нужно будет использовать ассоциативный массив для работы implode ().
но я думаю, что создадим новую таблицу для этих элементов, относящихся к основному идентификатору. то вы можете динамически справиться с этим: мне нужно установить флажок в отношении способов оплаты, таких как:
<div class="form-group row"> <label for="default-input" class="col-md-2 control-label">Payment Options</label> <div class="col-md-10"> <input name="pamentoptionsValue[]" id="checkbox-0" value="1" class="" type="checkbox"> <label for="checkbox-0" class="control-label"> Cash </label> <input name="pamentoptionsValue[]" id="checkbox-1" value="2" class="" type="checkbox"> <label for="checkbox-1" class="control-label"> Visa </label> <input name="pamentoptionsValue[]" id="checkbox-1" value="3" class="" type="checkbox"> <label for="checkbox-1" class="control-label"> MasterCard </label> <input name="pamentoptionsValue[]" id="checkbox-1" value="4" class="" type="checkbox"> <label for="checkbox-1" class="control-label"> American </label> <input name="pamentoptionsValue[]" id="checkbox-1" value="5" class="" type="checkbox"> <label for="checkbox-1" class="control-label"> Express</label> <input name="pamentoptionsValue[]" id="checkbox-1" value="6" class="" type="checkbox"> <label for="checkbox-1" class="control-label"> Nexus</label> </div> </div>