codeigniter错误:消息:未定义的变量:结果

时间:2013-05-22 07:48:04

标签: php codeigniter

我通过CodeIgniter表单在表格中添加用户。 Insertion一切正常。但在删除所选记录后,我得到未定义的变量结果。 我也定义了

 $results = NULL;

在我的控制器代码中。 我的代码发生了什么?

控制器代码

$results = NULL;
$this->load->model('User');
$form_data['results'] = $this->User->view_table();
$this->load->view('User/User_login', $form_data);

在user_login.php中查看代码

<?php 
            if(sizeof($results)>0){
                foreach ($results as $row){
                    echo "<tr style='text-align:center';>";
                    echo "<td>".$id=$row->id."</td>";
                    echo "<td>".$row->first_name."</td>";
                    echo "<td>".$row->last_name."</td>";
                    echo "<td>".$row->username."</td>";
                    echo "<td>".$row->email."</td>";
                    echo "<td><a href = ".base_url().'Users/user_edit'.">Edit</a>|<a href=".base_url().'Users/user_delete/'.$id=$row->id.">Delete</a></td>";
                   // echo $id; die();
                echo "</tr>";
            }
            }else{
                echo "no record found";
            }

            ?>

错误

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: results

Filename: User/User_login.php

Line Number: 44

2 个答案:

答案 0 :(得分:1)

使用isset来检查是否定义了变量

<?php 
        if(isset($results)){
            foreach ($results as $row){
                echo "<tr style='text-align:center';>";
                echo "<td>".$id=$row->id."</td>";
                echo "<td>".$row->first_name."</td>";
                echo "<td>".$row->last_name."</td>";
                echo "<td>".$row->username."</td>";
                echo "<td>".$row->email."</td>";
                echo "<td><a href = ".base_url().'Users/user_edit'.">Edit</a>|<a href=".base_url().'Users/user_delete/'.$id=$row->id.">Delete</a></td>";
               // echo $id; die();
            echo "</tr>";
        }
        }else{
            echo "no record found";
        }

        ?>

isset

$results您已将此设置为null但您尚未通过此视图以查看您已通过 $form_data codeigniter通常会keys将所有传递给视图的$this->User->view_table();转换为变量,因此您会看到未定义的消息,因为$form_data['results']没有返回任何内容并且已分配给{{1}}

答案 1 :(得分:0)

我想$this->User->view_table()函数有时会返回NULL。检查一下。