0
我有一個表格,它根據您填寫和選擇的輸入來組合估計。其中一個輸入是一組複選框,決定項目收到的結果。他們以數組的形式進入數據庫(name="finishes_id[]"
)。它們被放入一個叫做finishes_used
表,如下所示:預選mysql表格中的複選框數組
used_id | estimate_id | finish_id
此錶鏈接在一起完成表的估計值表。因此,舉例來說,如果3個不同的款式被選爲一個估計,它應該是這樣的:
used_id | line_id | estimate_id | finish_id
1 1 1000 2
2 1 1000 6
3 1 1000 7
我現在正在做一個編輯頁面,估計和我有麻煩搞清楚如何預選完成使用的複選框。它僅顯示所選的複選框。我需要選擇檢查其他人。
我對我的表單的複選框部分代碼如下所示。我怎樣才能得到上述的預期結果?
<?php
$getid = $_GET['estimate_id']; // The current estimate number
$getLineid = $_GET['line_id']; // The current line item on the estimate
?>
<label for="finish_id">Finishing</label>
<div class="checkbox_group">
<?php
if ($select = $db -> prepare("SELECT f.finish_id, f.finish_name, u.estimate_id, u.line_id FROM finishes AS f INNER JOIN finishes_used AS u ON u.finish_id = f.finish_id WHERE u.line_id = ? ORDER BY f.finish_name ASC"))
{
$select -> bind_param('s', $getLineID);
$select -> execute();
$select -> bind_result($finish_id, $finish_name, $used_estimate_id, $used_line_id);
while ($select -> fetch())
{
echo '<div class="checkbox">';
echo '<input type="checkbox" name="finish_id[]" id="edit_'.$finish_name.'" value="'.$finish_id.'" ';
echo '/><label for="edit_'.$finish_name.'">'.$finish_name.'</label>';
echo '</div>';
}
$select -> close();
}
?>
</div>
感謝您的回覆。我用左外部連接替換了內部連接,並得到了和以前相同的結果。該語句的var_dump返回'[「num_rows」] => int(3)'。我的新查詢: 'SELECT f.finish_id, ORDER BY f.finish_name ASC' –
明天我會重新創建它,看看發生了什麼。我想我們會找到解決方案 –
非常感謝,我很感謝幫助 –