遇到PHP错误严重性:通知消息:未定义的索引:id

时间:2016-11-18 08:26:10

标签: php html5 codeigniter

我真的需要让这个表工作但是我无法找到代码中缺少的内容或为什么这个变量未定义。表格很好。它显示,上面是一个搜索框。表的html代码是精细的bcos它显示表。 PHP错误出现在表的列中,其中调用了id,name等。我需要帮助..

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

    }

我的观点:(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;
    }

1 个答案:

答案 0 :(得分:3)

你在控制器上有一个$parameters = ["q" => "AXS.AX"] for the foreach on view

在foreach中首先$data['result']

$result

或尝试

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