我使用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