从复选框中插入mysql中的数据

时间:2014-10-22 10:47:44

标签: php forms checkbox

 <tr><td><strong>Servizi Offerti</strong></td></tr>
 <tr><td><strong>Parking</strong></td></tr><tr>
 <td><input type="checkbox" name="parking[]" value="In"> In</td>
 <td><input type="checkbox" name="parking[]" value="Out"> Out</td>
 <td>Altro <input name="parking[] type="input" placeholder="say something"> </td></tr>

我正在尝试将值插入我的数据库

这里是我正在使用的代码

foreach($_POST['parking'] as $index => $val){
$sql="UPDATE lista SET parcheggio='$val' where id_user='1'"; 
$results = mysql_query($sql);
}

现在如果检查进出,我只能在db中获得值“OUT”

我该如何解决?

5 个答案:

答案 0 :(得分:1)

我在DB表中创建了单独的字段...一个用于IN,一个用于OUT,一个用于其他,然后不使用POST'停放'数组,但不同的var名称和更新来自那些而不是的foreach。

<tr><td><strong>Servizi Offerti</strong></td></tr>
<tr><td><strong>Parking</strong></td></tr><tr>
<td><input type="checkbox" name="parkingIn" value="In"> In</td>
<td><input type="checkbox" name="parkingOut" value="Out"> Out</td>
<td>Altro <input name="parkingOther type="input" placeholder="say something"> </td></tr>

然后

$in = mysql_real_escape_string($POST['parkingIN']);
$out = mysql_real_escape_string($POST['parkingOut']);
$other = mysql_real_escape_string($POST['parkingOther']);
$sql="UPDATE lista SET parcheggioIn='$in', parcheggioOut='$out', parcheggioOther='$other' where id_user='1'";
$results = mysql_query($sql);

答案 1 :(得分:0)

尝试这样的事情

$sql='UPDATE lista SET parcheggio='.implode( ", " ,$_POST["parking"])'. where id_user=\'1\'"; 
$results = mysql_query($sql);

并阅读有关sqlinjections的内容,因为这种代码非常危险。

答案 2 :(得分:0)

您正在两次更新相同的记录。首先是“In”,第二个是“Out”。什么是“parcheggio”字段的数据类型。它是“varchar”或“text”或“set”,那么你可以使用以下查询: -

$sql='UPDATE lista SET parcheggio='.implode(','.$_POST["parking"]).' WHERE id=1';

答案 3 :(得分:0)

您已使用parking作为数组,如果您想插入/更新每个数据,请将$ _POST [&#39; parking&#39;]视为数组,&amp;然后在数据库中更新它。

答案 4 :(得分:0)

使用它会给你'InOut'

$text="";
    foreach($_POST['parking'] as $index => $val){
    $text=$text.$val;
    }
    $sql="UPDATE lista SET parcheggio='$text' where id_user='1'"; 
    $results = mysql_query($sql);