为Codeigniter中的foreach()提供的参数无效

edqdpe6u  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(92)

我收到错误消息:在我的视图中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_server. 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>';
        }

?>


请帮助我做什么。谢谢。

0s7z1bwu

0s7z1bwu1#

你需要做一个检查,然后才开始为数据,如:模型代码:

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>';
    }
}

ttp71kqs

ttp71kqs2#

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

gg0vcinb

gg0vcinb3#

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

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();
}

字符串

相关问题