我使用codeigniter構建小型網站。我很好奇如何從數據庫中填充複選框?從codeigniter中的數據庫填充複選框表單
讓我們說我有以下查詢;
$this->db->select('status');
$this->db->where('id', 3');
$this->db->get('table);
如何使複選框被檢查,如果上面的查詢結果是1?
我使用codeigniter構建小型網站。我很好奇如何從數據庫中填充複選框?從codeigniter中的數據庫填充複選框表單
讓我們說我有以下查詢;
$this->db->select('status');
$this->db->where('id', 3');
$this->db->get('table);
如何使複選框被檢查,如果上面的查詢結果是1?
你可以做這樣的事情。這只是一個想法,因爲我無法真正看到你正在返回的東西。 $entry['status']
是查詢結果。
if($entry['status'] == 1){
echo '<input type="checkbox" checked="checked" disabled="disabled"/>';
}
else {
echo '<input type="checkbox" unchecked="unchecked" disabled="disabled"/>';
}
這基本上是正確的方法。 – 2011-05-03 17:04:46
如果您希望在狀態值大於1的情況下檢查選擇框,您可以這樣做。
$result = $this->db->select('status')->get_where('table', array('id'=> 3))->row();
if($result->status > 1)
{
print '<input type="checkbox" name="checkbox" checked="checked" value="'.$result->status.'" />';
}else{
print '<input type="checkbox" name="checkbox" value="'.$result->status.'" />';
}
你會想要檢查該行實際返回值,或者你會得到一個非對象錯誤的變種。這只是一個例子。
爲什麼它甚至需要大於1? – 2011-05-03 19:21:06
他的問題是 - 「如果上面的查詢結果是1,如何使複選框被檢查?」 – mhiggins 2011-05-04 15:21:52
@mhiggins嗯,我不明白爲什麼你會讓它大於1,因爲他們是1或0(開或關)。沒有? – 2011-05-04 17:51:51
的form_checkbox()
節這工作對我來說,是簡單的:
<?php foreach($tb as $table_row){ ?>
<input type="checkbox" <?php if ($table_row['reconciled'] == "1" {echo "checked = checked";} ?>
你的信息很短! – 2011-05-03 16:12:38
嘗試我想你是問如何使複選框基於數據庫值進行檢查。 – 2011-05-03 16:34:04