我试图从表格中插入数据:
<input type="checkbox" name="single_color_show[]" value="1" id="1" checked>
<input type="text" name="single_color_val[]" class="input-admin-val" value="0" id="1">
<input type="hidden" name="single_color_name[]" value="Vit: (NCS S0502-Y)" id="1">
<input type="hidden" name="single_color_head[]" value="colors" id="1">
<input type="hidden" name="single_color_standard[]" value="1" id="1">
<input type="hidden" name="single_color_order[]" value="1" id="1">
<input type="hidden" name="single_color[]" value="1" id="1"></td>
依旧......
我想要的是所有值都存储在db中。只要选中single_color_show,这样就可以正常工作。但是我需要插入数据,但是值为0而不是1,所以脚本知道它应该被隐藏。
这是我的PHP代码:
$single_color_show = $_POST['single_color_show'];
$single_color = $_POST['single_color'];
$single_color_name = $_POST['single_color_name'];
$single_color_val = $_POST['single_color_val'];
$single_color_head = $_POST['single_color_head'];
$single_color_standard = $_POST['single_color_standard'];
$single_color_order = $_POST['single_color_order'];
foreach($single_color_order as $key => $n) {
$s_color = "INSERT INTO product_attributes (products_id, att_name, att_head, att_val, att_standard, att_order, att_show) VALUES ('".$products_id_enkel."', '".$single_color_name[$key]."', '".$single_color_head[$key]."', '".$single_color_val[$key]."', '".$single_color_standard[$key]."', '".$single_color_order[$key]."', '".$single_color_show[$key]."');";
$q = mysql_query($s_color) or die ('Error posting data enkeldörr färg');
}
只要我选中所有选项,它就会保存数据,但是由于我需要检索数据以供将来编辑,我需要所有选择的选项来选择属性。
如果我检查让我们说3个选择中的2个我希望数据存储为
products_id, att_name, att_head, att_val, att_standard, att_order, att_show
12 Red Color 80 1 1 1
12 Blue Color 50 0 2 0
12 Green Color 70 0 3 1
这就是我现在所得到的:
products_id, att_name, att_head, att_val, att_standard, att_order, att_show
12 Red Color 80 1 1 1
12 Green Color 70 0 3 1
答案 0 :(得分:0)
您可以将single_color_show属性设置为与其他属性一样的隐藏字段,然后每当复选框发生更改时,使用javascript将其值在0和1之间切换。
答案 1 :(得分:0)
您需要处理复选框-HTML代码和复选框数组:
(1)HTML
从0开始为每个复选框提供唯一的value
:
<input type="checkbox" name="box[]" value="0"/>
<input type="checkbox" name="box[]" value="1"/>
<input type="checkbox" name="box[]" value="2"/>
<input type="checkbox" name="box[]" value="3"/>
<input type="checkbox" name="box[]" value="4"/>
<input type="checkbox" name="box[]" value="5"/>
(2)PHP
提交后处理数组...
if (isset($_POST['box'])) {
$max = count($_POST['single_color']); // get max number of elements in "full" array
for ($i = 0;$i < $max;$i++)
$box[$i] = intval(in_array($i,$_POST['box']));
} else $box = array();
(3)使用mysqli_ *或PDO代替mysql_ *; - )
---&GT;在这里看现场演示:http://codepad.viper-7.com/jUPseH