在codeigniter中重新填充从数据库生成的选择列表

在codeigniter中重新填充从数据库生成的选择列表,codeigniter,Codeigniter,嗨。我有一个表单,在该表单中,如果用户犯了任何错误(保留一些必填字段为空),我将使用表单\验证,用户将重定向回表单,并且表单已重新填充。除了从数据库生成的“我的选择”之外,所有操作都有效 以下是我在视图中的代码: echo "<select name='parentid'" . set_value("parentid"). ">"; echo '<option value = "0">None</option>'; foreach ($faq_categori

嗨。我有一个表单,在该表单中,如果用户犯了任何错误(保留一些必填字段为空),我将使用表单\验证,用户将重定向回表单,并且表单已重新填充。除了从数据库生成的“我的选择”之外,所有操作都有效

以下是我在视图中的代码:

echo "<select name='parentid'" . set_value("parentid"). ">";
echo '<option value = "0">None</option>';
foreach ($faq_categories as $row => $option) {
    echo "<option value=" . $option['catid'] . ">" . $option['categoryname']. "</option>";
}
echo '</select>';
以下是模型代码:

 public function selectAllRecords($selectWhat = array())
    {
        $data = array();
        $tname = $selectWhat['tname'];
        $sortby = $selectWhat['sortby'];
        $how = $selectWhat['how'];
        $this->db->order_by($sortby,$how);
        $query = $this->db->get($tname);
        if($query->num_rows() > 0) 
        {
            foreach($query->result_array() as $row) 
            {
                $data[] = $row;  
            }
        }
        $query->free_result();
        return $data;
    } // end of function selectAllRecords 

我没有收到任何错误消息,只是select没有重新填充上次使用的。任何帮助都将不胜感激

您使用的
设置值()
不正确

echo "<select name='parentid'" . set_value("parentid"). ">";
正如您所看到的,为了安全起见(始终),我在这里对您的代码进行了一些其他的自由

如果这太混乱,您可能会对该函数感兴趣。

dublicate
echo "<select name='parentid'" . set_value("parentid"). ">";
<select name='parentid'ActualValue>
foreach ($faq_categories as $row => $option) {

    echo "<option value=".form_prep($option['catid']).'"';

    echo set_select('parentid', $option['catid']); // outputs selected="selected"

    echo ">".html_escape($option['categoryname'])."</option>";
}