Codeigniter 如何在helper中从数据库获取内容

Codeigniter 如何在helper中从数据库获取内容,codeigniter,Codeigniter,嗨:在选择框的代码点火器中,我想显示数据库中的内容。我无法从数据库接收内容。如何使用帮助器显示。如果我使用助手,我会得到以下错误。你怎样才能得到同样的结果 Fatal error: Using $this when not in object context in G:\xampp\htdocs\lokalpickup_ci\admin\application\helpers\lib_helper.php on line 79 我认为你的问题是使用了$this。实际上,in-helper不

嗨:在选择框的代码点火器中,我想显示数据库中的内容。我无法从数据库接收内容。如何使用帮助器显示。如果我使用助手,我会得到以下错误。你怎样才能得到同样的结果

Fatal error:  Using $this when not in object context in G:\xampp\htdocs\lokalpickup_ci\admin\application\helpers\lib_helper.php on line 79 

我认为你的问题是使用了$this。实际上,in-helper不能在CodeIgniter中使用$this。您需要将实例设置为某个变量,然后才能像这样使用它

    $CI = & get_instance();
    $CI->load->model('Dynamic_dropdown', 'dd_model');
下面是从PHP代码生成器生成的动态选择控件的代码。你可以用这样的东西

    function form_dynamic_dropdown($tablename, $fieldDetails, $valueColumn, $displayColumn, $default='') {
        if (!is_array($fieldDetails)) {
            log_message('error', 'Field details should be an array for dynamic dropdown', TRUE);
            return;
        }
        $field_properties = '<select';
        foreach ($fieldDetails as $key => $value) {
            $field_properties .= ' ' . $key . ' = \'' . $value . '\'';
        }
        $field_properties .= '>';

        $CI = & get_instance();
        $CI->load->model('Dynamic_dropdown', 'dd_model');
        $field_properties .= '<option value=\'\'>';
        $field_properties .= 'Select';
        $field_properties .= '</option>';

        if(isset($fieldDetails['name']) && isset($_POST[$fieldDetails['name']]))
            $default = $_POST[$fieldDetails['name']];

        $condition = array();
        $results = $CI->dd_model->search($condition, $tablename);
        foreach ($results as $result) {
            if ($result->$valueColumn == $default)
                $field_properties .= '<option value=\'' . $result->$valueColumn . '\' selected>';
            else
                $field_properties .= '<option value=\'' . $result->$valueColumn . '\'>';
            $field_properties .= $result->$displayColumn;
            $field_properties .= '</option>';
        }
        $field_properties .= '</select>';
        return $field_properties;
    }
function form\u dynamic\u下拉列表($tablename、$fieldDetails、$valueColumn、$displayColumn、$default=''){
如果(!is_数组($fieldDetails)){
日志消息('error','Field details应该是动态下拉列表的数组',TRUE);
回来
}
$field_properties='';
$CI=&get_instance();
$CI->load->model('Dynamic_dropdown','dd_model');
$field_属性='';
$field_properties.='Select';
$field_属性='';
if(isset($fieldDetails['name'])和&isset($_POST[$fieldDetails['name']))
$default=$_POST[$fieldDetails['name']];
$condition=array();
$results=$CI->dd_model->search($condition,$tablename);
foreach($results作为$result){
如果($result->$valueColumn==$default)
$field\u properties.='$valueColumn.\'选定>';
其他的
$field\u properties.='$valueColumn.\'>';
$field_properties.=$result->$displayColumn;
$field_属性='';
}
$field_属性='';
返回$field\u属性;
}

添加出现此错误的代码