1

我收到错误消息:我的视图中 foreach() 的参数无效。我想显示我的 mysql 表中的所有条目,但我不断收到错误消息。我是 Codeigniter 的新手,无法真正弄清楚如何解决这个问题。代码如下:我的模型(display_branch.php)

<?php if(!defined ('BASEPATH')) exit ('No direct script access allowed');
class Display_Branch extends CI_Model
{
function __construct()
{
    parent::__construct();
}

public function getAll()
{
    $this->db->select('bcode, bname, btel, badd');
    $this->db->from('branches');

    $query = $this->db->get();

    if($query->num_rows() == 1)
    {
        $results = $query->result();
        return $results;
    }
    else
    {
        return FALSE;
    }
}
}?>

我的控制器 (link_controller.php) *只有片段。

public function insert()
{
    $this->load->model('display_branch');

    $data['results'] = $this->display_branch->getAll(); 

    $this->load->view('insert_branch');
    $this->load->view('navigation');
    $this->load->view('content_bc', $data);
    $this->load->view('footers');
}

我的观点(content_bc.php)

<?php


        foreach($results as $row)
        {
            echo '<tr>';
            echo '<td>'.$row->bcode.'</td>';
            echo '<td>'.$row->bname.'</td>';
            echo '<td>'.$row->btel.'</td>';
            echo '<td>'.$row->badd.'</td>';
            echo '</tr>';
        }

?>

请帮我做什么。谢谢你。

4

3 回答 3

12

您需要在开始迭代数据之前进行检查,例如:模型代码:

public function getAll() {
    $results = array();
    $this->db->select('bcode, bname, btel, badd');
    $this->db->from('branches');

    $query = $this->db->get();

    if($query->num_rows() > 0) {
        $results = $query->result();
    }
    return $results;
}

查看代码:

if( !empty($results) ) {
    foreach($results as $row) {
        echo '<tr>';
        echo '<td>'.$row->bcode.'</td>';
        echo '<td>'.$row->bname.'</td>';
        echo '<td>'.$row->btel.'</td>';
        echo '<td>'.$row->badd.'</td>';
        echo '</tr>';
    }
}
于 2013-09-23T03:12:45.637 回答
1

模型中的查询返回字符串或对象数据,而不是数组。'foreach' 循环函数接受一个数组作为它的第一个参数。

于 2017-02-21T14:09:48.090 回答
0

我认为这段代码是模块化的:

public function getAll() {
    $this->db->select('bcode, bname, btel, badd');
    $this->db->from('branches');

    $query = $this->db->get('branches');

    return $this->db->query($query)->result_array();
}
于 2019-10-18T14:20:01.390 回答