Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从“中显示名称”;学生“;表中有相同的教员id;“教员”;桌子_Php_Mysql_Codeigniter - Fatal编程技术网

Php 如何从“中显示名称”;学生“;表中有相同的教员id;“教员”;桌子

Php 如何从“中显示名称”;学生“;表中有相同的教员id;“教员”;桌子,php,mysql,codeigniter,Php,Mysql,Codeigniter,我被我的PHP(CI+Bootstrap)作业代码所困扰,我将解释它的(简化)细节: 有一个名为“大学”的数据库,里面有“学生”和“教员”表 “学生”表中有“教员id” 在“教员简介”视图中,有一个“该教员注册的学生”列表 以下是我的MVC代码: 模型 函数获取数据($table) { 返回$this->db->get($table); } 控制器 public function教员简介($id) { $where=array('faculty_id'=>$id); $data['facult

我被我的PHP(CI+Bootstrap)作业代码所困扰,我将解释它的(简化)细节:

  • 有一个名为“大学”的数据库,里面有“学生”和“教员”表
  • “学生”表中有“教员id”
  • 在“教员简介”视图中,有一个“该教员注册的学生”列表
  • 以下是我的MVC代码:

    模型

    函数获取数据($table)
    {
    返回$this->db->get($table);
    }
    
    控制器

    public function教员简介($id)
    {
    $where=array('faculty_id'=>$id);
    $data['faculty']=$this->db->query(“从faculty f中选择*,学生s,其中f.faculty\u id=s.faculty\u id,f.faculty\u id='$id'))->result();
    $this->load->view('faculty_profile',$data);
    }
    
    视图(简化)

    
    在这个学院注册的学生
    
    (简化)结果如下(我在同一个学院注册了两行):

    下面是我想要的:

    ------
    Information Technology //faculty_name
    Mr. Henry //head_of_faculty
    Students enrolled in this faculty
    Adam
    Brian
    ------
    
    问题是,我需要在哪里修补才能得到我想要的结果?

    哦,我试过这样放置两个foreach:

    
    在这个学院注册的学生
    
    结果如下:

    ------
    Information Technology //faculty_name
    Mr. Henry //head_of_faculty
    Students enrolled in this faculty
    Adam
    Brian
    ------
    ------
    Information Technology //faculty_name
    Mr. Henry //head_of_faculty
    Students enrolled in this faculty
    Adam
    Brian
    ------
    
    提前感谢,我们将永远感谢您提供的任何帮助

    您提到的“教员简介”视图仅显示注册该教员的学生。这意味着它将只显示1名教员。因此,您不需要循环$faculty。按如下所示更改控制器代码

            $data['faculty'] = $this->db->query("select * from faculty f where f.faculty_id='$id'")->result();
            $data['faculty']['students'] = $this->db->query("select * from students s where s.faculty_id='$id'")->result();
            $this->load->view('faculty_profile', $data);
    
    改变你的观点如下

            <tr>
                <td><?php echo $faculty->faculty_name?></td>
            </tr>
            <tr>
                <td><?php echo $faculty->head_of_faculty?></td>
            </tr>
            <tr><td>Students enrolled in this faculty</td></tr>
            <?php foreach($faculty['students'] as $student ) { ?>
                <tr>
                    <td>
                        <?php echo $student->students_name?>
                    </td>
                </tr>
            <?php } ?>
    
    
    在这个学院注册的学生
    
    我必须在foreach之外的$faculty之后添加[0]以使其工作,否则我将获得非对象的“尝试获取属性”faculty\u name”。不过,非常感谢!
            <tr>
                <td><?php echo $faculty->faculty_name?></td>
            </tr>
            <tr>
                <td><?php echo $faculty->head_of_faculty?></td>
            </tr>
            <tr><td>Students enrolled in this faculty</td></tr>
            <?php foreach($faculty['students'] as $student ) { ?>
                <tr>
                    <td>
                        <?php echo $student->students_name?>
                    </td>
                </tr>
            <?php } ?>