<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”
我该如何解决?
答案 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);