2013-05-22 114 views
1

我通過CodeIgniter窗體在表中添加用戶。 Insertion會很好。但刪除選定的記錄後,我得到未定義的變量結果。 我也定義了codeigniter錯誤:消息:未定義的變量:結果

$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 

回答

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在設置了此爲空但還沒有通過此,可查看已通過 $form_data,以查看一般codeigniter轉換所有keys傳遞給查看變量,因此你看到未定義的消息,因爲你的$this->User->view_table();什麼也沒有返回,它被分配到$form_data['results']

0

我猜$this->User->view_table()函數有時會返回NULL。覈實。