从数据库中获取数据 - php codeigniter

时间:2016-06-27 10:40:35

标签: php sql codeigniter

我想从数据库中获取一些数据(学生详细信息),但我的代码无效。

这是我的控制器

   public function Student_Detail()
   {
     $student_id = $this->uri->segment(3);
     $record = $this->WebAdmin_Model->Student_Details($student_id);

     $this->load->view('admin/template/header.php');
     $this->load->view('admin/students/student_details', $record);
     $this->load->view('admin/template/footer.php');   

   }

这是我的模特

 public function Student_Details($student_id)
    {
    $query = $this->db->query("SELECT s.`student_id`, 
                                      s.`std_email`, 
                                      s.`std_fname`, 
                                      s.`std_lname`
                               FROM `student_main` AS s
                               WHERE s.`student_id` = $student_id");
 return $query->result();  
    }

这是我的观点

     <section class="panel">
     <div class="user-heading">

    <img src="<?=base_url();?>images/profile-avatar.jpg" alt="">

     </div>

<ul class="nav nav-pills nav-stacked">
<li> <?php echo $record->std_fname; ?></li>
<li> <?php echo $record->std_lname; ?></li>
<li> <?php echo $record->std_email; ?></li>
</ul>
 </section>

请注意,查询没有问题。我想知道如何获取学生的详细信息。它给了我以下错误。消息:未定义的变量:记录

3 个答案:

答案 0 :(得分:0)

试试这个:

在您的控制器中:

Ambari

在你看来:

$data['record'] = $this->WebAdmin_Model->Student_Details($student_id);
$this->load->view('admin/students/student_details', $data);

答案 1 :(得分:0)

您需要将模型数据传递到记录数组,然后传递到视图

<强>控制器

 $student_id = $this->uri->segment(3);
     $record['data'] = $this->WebAdmin_Model->Student_Details($student_id);// store data into record array

     $this->load->view('admin/template/header.php');
     $this->load->view('admin/students/student_details', $record);
     $this->load->view('admin/template/footer.php');   

使用foreach循环检索数据

<强>视图

 <?php 
    foreach($data as $record)// use foreach loop
    { ?>
    <li> <?php echo $record->std_fname; ?></li>
    <li> <?php echo $record->std_lname; ?></li>
    <li> <?php echo $record->std_email; ?></li>
    <?php } ?>

答案 2 :(得分:0)

你需要这样做,因为codeigniter尝试从$ record中提取变量,但它失败了。所以,为了成为可能,做到这一点,

 $record['record'] = $this->WebAdmin_Model->Student_Details($student_id);

然后在你看来,

<ul class="nav nav-pills nav-stacked">
<li> <?php echo $record->std_fname; ?></li>
<li> <?php echo $record->std_lname; ?></li>
<li> <?php echo $record->std_email; ?></li>
</ul>

因为codeigniter将从$ record数组

中提取变量