我正在使用 PHP 创建动态复选框。根据我的 Chrome 元素检查员的说法,值回显没有问题,但在 $_POST 之后的某个时间点,我的所有值都被截断为一位数。
12 种色调的复选框,输入值为 1~12 echo'd↴</p>
// 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。
插入代码↴</p>
// 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);
}
发生了什么事,发生在哪里?!