有人知道这个foreach循环有什么问题吗?

时间:2014-09-24 04:08:55

标签: php codeigniter

我制作了超级简单的代码,使用Codeigniter从数据库生成数据。数据显示在我的视图上,但存在一些问题。每条记录生成9次。示例我有数据ID数据库,名称为:John Doe,电子邮件:john @ doe.com,Birthdate:xxxx-xx-xx它循环9次。

以下是模型:

<?php

class Transaction extends CI_Model
{
    function getdata()
    {
        $this->db->select('name, email, schools_name');
        $this->db->from('employee, schools');
        $r = $this->db->get();
        return $r;
    }
}

控制器:

<?php

class Layer extends CI_Controller
{
    function index()
    {
        $this->load->model('transaction');
        $data['data'] = $this->transaction->getdata();
        $data['title'] = 'This is title';
        $this->load->view('test', $data);
    }
}

并查看:

<!DOCTYPE html>
<html>
    <head>
        <title>Check</title>
    </head>
    <body>
        <?php
            echo heading($title, 1);
            foreach (($data->result()) as $row)
            {
                echo '<p>Name: ' . $row->name . 'and <br> Email: ' . $row->email . '<br> Schools: '.$row->schools_name.'</p>';
            }

        ?>
    </body>
</html> 

也许我太累了,我只是找不到导致这种情况的原因。 :d

非常感谢,

编辑: var_dump结果,限制为1:

array(1) { [0]=> object(stdClass)#20 (3) { ["name"]=> string(16) "Braxton Amundson" ["email"]=> string(18) "braxam27@gmail.com" ["schools_name"]=> string(21) "Penn State University" } } 

1 个答案:

答案 0 :(得分:1)

我认为您试图从两个不允许的表中进行选择:

$this->db->from('employee, schools');

您必须更新代码,才能根据所选字段选择正确的(一个)表格。如果要同时使用这两个表,则必须转到(加入)策略,例如(内部联接),并使用某个键或值链接两个表。

您可以使用(加入)通道:

$this->db->join();

对此进行了详细解释(Here)。希望你能找到这个有用的。