我是CI的新手。我希望你能解决我的问题。 :) 我正在尝试重定向我的网站中的上一页,其中包含来自数据库的数据的表。我继续收到消息
Fatal error: Call to a member function result() on a non-object in C:\xampp\htdocs\.....
Call to a member function result() on a non-object in C:\xampp\htdocs\findiningcebu.com\application\views\admin\SearchRestoDisplay.php on line 122
和
的通知Undefined variable: restaurantinfo....Backtrace:
File: C:\xampp\htdocs\findiningcebu.com\application\views\admin\SearchRestoDisplay.php
Line: 122
以下是我的代码:
查看:
<div class = "list">
<table border=2>
<tr style="font-size: 16px; background-color: rgba(26, 26, 38, 0.5);">
<th>Name</th>
<th>Logo</th>
<th>Cuisine</th>
<th>Action</th>
</tr>
<?php
$restoname= '';
$restologo= '';
$cuisine= '';
foreach($restaurantinfo->result() as $row)
{
$restoname= $row->restoname;
$restologo= $row->restologo;
$cuisine= $row->cuisine;
?>
控制器:
public function delete($id)
{
$this->load->model('AdminModel');
$delete = $this->AdminModel->delete($id);
$this->load->view('admin/SearchRestoDisplay');
}
public function searchresto()
{
$restoinfo = $_POST['restoinfo'];
$searchinfo = $_POST['searchinfo'];
$this->load->model('AdminModel');
$restaurantinfo['restoinfo'] = $restoinfo;
$restaurantinfo['searchinfo'] = $searchinfo;
$restaurantinfo['restaurantinfo']=$this->AdminModel->searchrestaurant($restoinfo,$searchinfo);
$this->load->view('admin/SearchRestoDisplay',$restaurantinfo);
}
型号:
public function delete($id){
$this->db->delete('restaurants',array('id'=>$id));
}
答案 0 :(得分:0)
这种情况正在发生,因为result()
是数据库类的一种方法,并且您尝试在$restaurantinfo
上使用此方法,这看起来像一个简单的数组。
我建议你$this->AdminModel->searchrestaurant
返回类似这样的内容
function searchrestaurant(){
/*stuff*/
return $query->result_array();
}
通过这种方式,您可以在视图中简单地预测这一点
foreach($restaurantinfo as $row)
{
$restoname= $row['restoname'];
$restologo= $row['restologo'];
$cuisine= $row['cuisine'];
}
问题似乎是您尝试在视图中使用数据库类的方法,而您的查询不存在。
所以,更改searchrestaurant
功能,或对视图进行查询..我不太推荐的事情......
希望有所帮助
答案 1 :(得分:0)
在加载视图的删除功能中,您没有传递值'$ restauranrinfo',这就是视图中缺少餐厅详细信息的原因。在加载视图之前从数据库中获取餐馆详细信息并在视图中传递值。