我使用PHP创建动态复选框。根据我的Chrome元素检查器的值回显没有问题,但在$ _POST后的所有我的值被截断为一位数。数组值被截断为一位数
复选框12点的色调与输入值1〜12echo'd↴
// Dynamically create checkboxes from database
function print_checkbox($db){
$i = 0;
foreach($db->query('SELECT * FROM hue_flag') as $row) {
if ($i == 0 || $i == 3 || $i== 6 || $i == 9){
echo '<br><br>';
}
$i++;
echo '<span class="'.$row['1'].'"><label for="'.$row['1'].'">'.ucfirst($row['1']).'</label><input type="checkbox" name="hue[]" class="hue" value="'.$row['0'].'"></span> ';
}
}
当查看我的数据库中的值10,11,和12已被截断为1
代码插入↴
// Above this comment: INSERT to table gown; Below this comment: INSERT to table gown_hues
$insertId = $conn->lastInsertId();
if(is_array($_POST['hue'])){
foreach($_POST['hue'] as $key => $hue){
$insertSQLToGown_Hues = sprintf("INSERT INTO gown_hues (`gown_id`, `hue_id`) VALUES (".$insertId.", ".$hue['0'].")");
$conn->query($insertSQLToGown_Hues);
}
}
else {
$insertSQLToGown_Hues = sprintf("INSERT INTO gown_hues (`gown_id`, `hue_id`) VALUES (".$insertId.", ".$hue.")");
$conn->query($insertSQLToGown_Hues);
}
这是怎么回事,它在哪里发生?!
我想我误解了[]是如何工作的。所以,我实际上并不需要我的是,否则,对吗? 关于卫生设施,学习是我的待办事项列表中的下一个。 – 2013-04-26 19:24:48
当我按照您的建议更改代码时,没有值插入到gown_hues中。 – 2013-04-26 19:28:06
事实上,现在我想到了,你的代码就是我昨天的方式。我无法弄清楚为什么这些值没有被插入,所以我将它改为我的问题中发布的内容,因为我认为我需要它是一个数组。我认为0指的是我的MySQL表的第0列。 – 2013-04-26 19:36:02