遇到PHP错误严重性:Notice消息:Undefined索引:id


A PHP Error was encountered Severity: Notice Message: Undefined index: id

我真的需要使这个表工作,但我找不到我的代码中缺少什么,或者为什么这个变量是未定义的。这张桌子很好用。它的上方显示了一个搜索框。表格的html代码很好,因为它显示了表格。PHP错误出现在正在调用id、名称等的表的列中。我需要帮助。

MY CONTROLLER: (tabledisplay.php)

function index()
    {
        $data = array();
        $this->load->model('table_model');
        $data['result'] = $this->table_model->display_table();
        $this->load->view('table_view', $data);//error here
    }

MY VIEW: (table_view.php)

<table class="table table-hover">
              <tr>
                   <th>ID</th> 
                   <th>First Name</th>
                   <th>Middle Name</th>
                   <th>Last Name</th>
                   <th>Position</th>
               </tr>
               <?php
                $row = array();
                foreach ($row as $result); ?>//the values cannot be displayed
               <tr>
                   <td><strong><?php echo $row['id']; ?></strong></td>//error starts here
                   <td><?php echo $row['fname']; ?></td>
                   <td><?php echo $row['mname']; ?></td>
                   <td><?php echo $row['lname']; ?></td>
                   <td width="15%"><?php echo $row['position']; ?></td>
                   <td width="100px"><button type="submit" class="btn btn-success">Sign in</button></td>
               </tr>
              <?php  ?>

MY MODEL: (table_model.php)

function display_table ()
    {
    function filterTable($query)
    {
        $connect = mysqli_connect("localhost","root","","registerusers");
        $filter_Result = mysqli_query($connect, $query);
        return $filter_Result;
    }
        if(isset($_POST['search']))
        {
              $valueToSearch = $_POST['valueToSearch'];
            // search in all table columns
            // using concat mysql function
            $query = "SELECT * FROM `user`  WHERE CONCAT(`id`, `fname`, `lname`, `position`) LIKE '%".$valueToSearch."%'";
            $search_result = filterTable($query);
        }
        else{
            $query = "SELECT * FROM `user` LIMIT 10";
            $search_result =  filterTable($query);
        }
    return $search_result;
    }

在foreach on view中有一个$data['result'] on控制器

$result放在foreach

的首位
<?php if ($result) {?>
<?php foreach ($result as $row) { ?>
<tr>
<td><strong><?php echo $row['id']; ?></strong></td>
<td><?php echo $row['fname']; ?></td>
<td><?php echo $row['mname']; ?></td>
<td><?php echo $row['lname']; ?></td>
<td width="15%"><?php echo $row['position']; ?></td>
<td width="100px"><button type="submit" class="btn btn-success">Sign in</button></td>
</tr>
<?php  } ?>
<?php  } else { ?>
<p>Sorry No Results</p>
<?php  } ?>

或者试试

<?php if ($result) {?>
<?php foreach ($result as $row) { ?>
<tr>
<td><strong><?php echo $row->id; ?></strong></td>
<td><?php echo $row->fname; ?></td>
<td><?php echo $row->mname; ?></td>
<td><?php echo $row->lname; ?></td>
<td width="15%"><?php echo $row->position; ?></td>
<td width="100px"><button type="submit" class="btn btn-success">Sign in</button></td>
</tr>
<?php  } ?>
<?php  } else { ?>
<p>Sorry No Results</p>
<?php  } ?>