2015-06-13 3 views
0

Теперь я создаю проект с использованием codeigniter. Но у меня появилось сообщение об ошибке «Ошибка PHP wasArray для преобразования строк». Что не так? Благодаря прежде ...Ошибка «Ошибка PHP wasArray для преобразования строк» ​​

enter image description here

Это мой контроллер:

public function index($page = 'dashboard') { 
    $data['num_rows'] = $this->admin_produk_model->count_product(); 

    $this->load->view('admin/templates/header', $data); 
    $this->load->view('admin/templates/sidebar', $data); 
    $this->load->view('admin/pages/' . $page, $data); 
    $this->load->view('admin/templates/footer', $data); 

} 

Моя модель:

public function count_product() { 
    $this->db->select('*')->from('produk'); 
    $q = $this->db->get(); 
    return $q->num_rows(); 
} 

Мое мнение:

<span class="info-box-number"><?php echo ['num_rows'];?></span> 
+1

'[ 'num_rows'] 'является массивом. Вы должны использовать заданную переменную вида. В этом случае это, вероятно, '$ num_rows'. –

+0

В представлении '$ data ['num_rows']' становится $ num_row. Но это массив тоже в соответствии с вашей моделью – splash58

+0

отлично работает, спасибо bro @JonStirling –

ответ

1

$q->num_rows() в вашей модели возвращает объект, и вы передаете этот объект для правильного просмотра, теперь вы можете просто использовать $num_rows в своем файле просмотра, чтобы показать его.

<span class="info-box-number"><?php echo $num_rows;?></span> 

или

<span class="info-box-number"><?=$num_rows;?></span> 
+0

Я согласен с этим ответом. Проблема, на ваш взгляд. Вы правильно передаете информацию с модели на контроллер для просмотра, но в своем представлении вы не используете правильный синтаксис. – CodeGodie

0

При отправке ДАННЫХ в CodeIgniter, используя $data переменные, вы можете получить прямой доступ к ДАННЫМ, используя обозначение, как имя переменной т.е.

$data['num_rows'] = $this->admin_produk_model->count_product(); 

Тогда на вашем взгляде страница доступа к нему, как $num_rows.

Вы получаете эту ошибку, потому что пытаетесь сделать echo массив. Вы должны использовать print_r() функцию для печати его

Так Вместо этого

<span class="info-box-number"><?php echo ['num_rows'];?></span> 

ли это

<span class="info-box-number"><?php print_r($num_rows);?></span> 
+0

они также могут использовать 'echo $ num_rows',' print_r' не требуется. – CodeGodie

Смежные вопросы