嗨:在选择框的代码点火器中,我想显示数据库中的内容。我无法从数据库接收内容。如何使用帮助器显示。如果我使用帮助器,我会收到以下错误。怎么做同样的。
Fatal error: Using $this when not in object context in G:\xampp\htdocs\lokalpickup_ci\admin\application\helpers\lib_helper.php on line 79
答案 0 :(得分:0)
我认为您的问题是使用$ this。实际上在帮助器中不能在CodeIgniter中使用$ this。你需要将实例变为某个变量然后可以像$ 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;
}