1

我正在通过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
4

2 回答 2

1

使用issetwhich 检查变量是否已定义

<?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";
        }

        ?>

伊塞特

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

于 2013-05-22T07:53:16.263 回答
0

我猜这个$this->User->view_table()函数有时会返回NULL。核实。

于 2013-05-22T07:53:10.703 回答