删除所有行后的消息错误(codeigniter)

时间:2017-03-31 17:21:28

标签: php mysql codeigniter fetch

我创建了一个从数据库中获取数据并显示包含不同行的表的程序。

问题是当我想删除表中的每一行时:/

删除表中的所有行后,我收到此错误: enter image description here

这是我的家庭档案:

    <tbody>
    <?php
        foreach($records as $record) {

            echo "<tr>
                      <td>".$record->id."</td>
                      <td>".$record->carrera."</td>
                      <td>".$record->nombre."</td>
                      <td>".$record->descripcion."</td>
                      <td>".$record->carga_horaria."</td>
                      <td align='center'>
                        <a href='".site_url('Home/edit')."/$record->id'> 
                         <button type='button' class='btn btn-primary'>EDIT</button></a> |
                        <a href='".site_url('Home/delete')."/$record->id'> 
                         <button type='button' class='btn btn-danger'>DELETE</button></a>

                  </tr>";
        }
    ?>

</tbody>

这是我的控制器文件(带索引和删除功能)

    class Home extends CI_Controller{

     public function __construct(){
         parent::__construct();

         $this->load->model("Crudmodel");

    }
    public function index(){

        $data['records'] = $this->Crudmodel->getRecords();

        $this->load->view('home', $data);

    }
    public function delete($id){

        $this->db->where('id',$id);
        $this->db->delete('materias');

        redirect('Home/index');

    }

模型文件:

enter image description here

不知道该怎么做:S

2 个答案:

答案 0 :(得分:0)

在循环播放之前,您需要检查是否有$records

if (count($records) > 0 && $records != false) {

  foreach($records as $record) {

    // the rest of your code
  }

}

答案 1 :(得分:0)

或者你可以做到,

if ($records) {
  foreach($records as $record) {
    // the rest of your code
  }
}