У меня есть вопрос об использовании form_dropdown () - PullRequest
0 голосов
/ 19 августа 2011

У меня есть вопрос об использовании form_dropdown ().

таблица: категория

cat_id

cat_name

Контроллер:

function index()

{

$this->load->model('category_model');


$data['category'] = $this->category_model->cat_getallcat();


$this->load->view('category_input',$data);


 }

Модель: category_model

    function cat_getallcat()

         {

     $this->load->database();

     return $this->db->get('category')->result();

        }

Вид:

<?php


$this->load->helper('form');


echo form_open('send');


$list[''] = 'Please select a Category';


foreach($query as $row)

 {

$list[$row->cat_id] = ucfirst(htmlspecialchars($row->cat_name));

 }


echo form_dropdown('category', $list);


echo form_close();

?>

получена ошибка:

  A PHP Error was encountered



   Severity: Warning


  Message: Invalid argument supplied for foreach()


  Filename: views/category_input.php


   Line Number: 28

Ответы [ 2 ]

1 голос
/ 19 августа 2011

Вы просите foreach зацикливаться на $ query, но я нигде не установил $ query в качестве переменной, которую я вижу.

Поскольку вы установили $ data ['category'] для хранения вашегоРезультат запроса () в вашем контроллере, вам нужно перебрать по $ category в представлении:

foreach($category as $row)
{
    $list[$row->cat_id] = ucfirst(htmlspecialchars($row->cat_name));
} 
1 голос
/ 19 августа 2011

->result() вернет только первую строку, так что эту функцию вы хотите зациклить.

Модель

function cat_getallcat()
{
    $this->load->database();
    return $this->db->get('category');
}

Просмотр

foreach($query->result() as $row)
{
    $list[$row->cat_id] = ucfirst(htmlspecialchars($row->cat_name));
}

РЕДАКТИРОВАТЬ: Кроме того, вы отправляете результат как $data['category'], а затем пытаетесь получить к нему доступ как $query.Так что на самом деле foreach будет foreach($category->result() as $row) в этом примере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...