PHPを使用して動的チェックボックスを作成しています。私のChrome要素インスペクタによると、値は問題なくエコーされますが、$_POST後のある時点で、すべての値が1桁に切り捨てられます。
入力値が 1 ~ 12 の 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 に切り捨てられています。
INSERTion↴のコード</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);
}
何が起こっていて、どこで起こっているのですか?!