Codeigniter -未定义变量


Codeigniter - undefined variable

我得到这个错误:

遇到PHP错误

严重性:注意

消息:Undefined variable: results

文件名:视图/body.php

行号:75

我的模型
function get_results($search_term='default')
{
    $this->db->select('*');
    $this->db->from('books');
    $this->db->like('title', $search_term);
    $query = $this->db->get();
    return $query->result_array();
}

我的控制器

function execute_search(){

    $this->load->model('books_model');
    $search_term = $this->input->post('search');
    $data['results'] = $this->books_model->get_results($search_term);
   $this->load->view('body', $data);

}

我的观点

<h1>Search Results</h1>
<div>
<?php
if(is_array($results)) : foreach ($results as $val) : ?>
    <ul>
    <li><?php echo $val['title'] ?></li>
    </ul>
<?php endforeach; ?>
<?php else : ?>
<h2> No books found </h2>
<?php endif; ?>
</div>

我不明白,因为我在控制器中调用了变量"结果",但它在视图中不起作用。谢谢你的帮助。

在for循环之前尽量不将查询结果作为数组返回。

你的模型:

function get_results($search_term='default')
{
    $this->db->select('*');
    $this->db->from('books');
    $this->db->like('title', $search_term);
    $query = $this->db->get();
    return $query;
}

你的控制器没有变化

视图

<h1>Search Results</h1>
<div>
<?php
foreach ($results->result_array() as $val) : ?>
    <ul>
    <li><?php echo $val['title'] ?></li>
    </ul>
<?php endforeach; ?>
<?php else : ?>
<h2> No books found </h2>
<?php endif; ?>
</div>