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

问题描述 投票:0回答:4

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

?>

请帮我做什么。谢谢你。

php mysql codeigniter
4个回答
13
投票

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

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

1
投票

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


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

0
投票

1

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

© www.soinside.com 2019 - 2024. All rights reserved.