2011-05-03 104 views
1

我使用codeigniter構建小型網站。我很好奇如何從數據庫中填充複選框?從codeigniter中的數據庫填充複選框表單

讓我們說我有以下查詢;

$this->db->select('status'); 
$this->db->where('id', 3'); 
$this->db->get('table); 

如何使複選框被檢查,如果上面的查詢結果是1?

+0

你的信息很短! – 2011-05-03 16:12:38

+1

嘗試我想你是問如何使複選框基於數據庫值進行檢查。 – 2011-05-03 16:34:04

回答

4

你可以做這樣的事情。這只是一個想法,因爲我無法真正看到你正在返回的東西。 $entry['status']是查詢結果。

if($entry['status'] == 1){ 
       echo '<input type="checkbox" checked="checked" disabled="disabled"/>'; 
        } 
else { 
       echo '<input type="checkbox" unchecked="unchecked" disabled="disabled"/>'; 
      } 
+0

這基本上是正確的方法。 – 2011-05-03 17:04:46

0

如果您希望在狀態值大於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.'" />'; 
} 

你會想要檢查該行實際返回值,或者你會得到一個非對象錯誤的變種。這只是一個例子。

+0

爲什麼它甚至需要大於1? – 2011-05-03 19:21:06

+0

他的問題是 - 「如果上面的查詢結果是1,如何使複選框被檢查?」 – mhiggins 2011-05-04 15:21:52

+0

@mhiggins嗯,我不明白爲什麼你會讓它大於1,因爲他們是1或0(開或關)。沒有? – 2011-05-04 17:51:51

0

form_checkbox()節這工作對我來說,是簡單的:

<?php foreach($tb as $table_row){ ?> 
    <input type="checkbox" <?php if ($table_row['reconciled'] == "1" {echo "checked = checked";} ?>