【发布时间】:2016-04-03 12:05:19
【问题描述】:
我正在尝试找出将复选框数据数组传递给 sql 所需的 SQL 代码,然后将相同的数组从 sql 中拉出以获取表单。收到朋友的一些帮助,教我如何将数据保存到数组中,但不知道以复选框数据的形式从 SQL 中拉取数组的最佳实践。
这是我目前的表格:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-default active">User1
<input type="checkbox" name="salesman[]" value="User1" <?= in_array('User1', $invoice['Invoice']['salesman']) ? '' : '' ?> autocomplete="off">
</label>
<label class="btn btn-default active">User2
<input type="checkbox" name="salesman[]" value="User2" <?= in_array('User2', $invoice['Invoice']['salesman']) ? '' : '' ?> autocomplete="off">
</label>
这就是我可以提取非数组数据的方法,为数组寻找正确的代码:
$salesman = mysqli_real_escape_string( $this->_con, trim( $data['data']['Invoice']['salesman'] ) );
在网络类似概念中找到的代码:
<?
$childarr = explode(",", $row["children_pref"]);
?>
<input type="checkbox" name="children_pref[]" value="0" <?=(in_array('0',$childarr))?('checked'):('');?> >None<br>
<input type="checkbox" name="children_pref[]" value="1" <?=(in_array('1',$childarr))?('checked'):('');?>> 1<br>
<input type="checkbox" name="children_pref[]" value="2" <?=(in_array('2',$childarr))?('checked'):('');?>> 2<br>
<input type="checkbox" name="children_pref[]" value="3" <?=(in_array('3',$childarr))?('checked'):('');?>> 3<br>
<input type="checkbox" name="children_pref[]" value="4" <?=(in_array('4',$childarr))?('checked'):('');?>> 4<br>
<input type="checkbox" name="children_pref[]" value="5" <?=(in_array('5',$childarr))?('checked'):('');?>> 5<br>
<input type="checkbox" name="children_pref[]" value="6" <?=(in_array('6',$childarr))?('checked'):('');?>> 6 or more<br>
【问题讨论】:
-
您如何将复选框值存储在数据库中?
$invoice['basket']['fruit']和$basket['fruit']来自哪里?请附上相关的 PHP 代码。 -
对不起 - 玩弄我的伪代码并复制了错误的代码,用实际代码更新
-
您应该只需要将数组值传递给 SQL。然后,您不需要从 SQL 中检索这些相同的值,因为您已经有了这些值。