2014-02-19 49 views
0

嗨:在选择框的代码点火器中我想显示数据库中的内容。我无法接收来自数据库的内容。我如何使用助手进行显示。如果我使用助手,我得到以下错误。如何得到相同的。如何从帮助程序中的数据库获取内容

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

添加您的代码,其中您正在收到此错误 –

回答

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; 
    } 
相关问题