无法使用Codeigniter显示数据和分页(错误PHP)
我在我的应用程序中使用Codeigniter,我是这方面的新手。我从Codeigniter得到了几个错误。我被变量错误搞得心烦意乱 这是我的模型:无法使用Codeigniter显示数据和分页(错误PHP),php,codeigniter,Php,Codeigniter,我在我的应用程序中使用Codeigniter,我是这方面的新手。我从Codeigniter得到了几个错误。我被变量错误搞得心烦意乱 这是我的模型: class menuObjek extends CI_Model{ public function __construct(){ parent::__construct(); $this->load->database(); } public function getWisat
class menuObjek extends CI_Model{
public function __construct(){
parent::__construct();
$this->load->database();
}
public function getWisata($perPage,$uri){
$this->db->select("namaObjWisata, deskripsiObjWisata");
$this->db->from("objekwisata");
$this->db->order_by("kategori","ASC");
$getData = $this->db->get("", $perPage, $uri);
if($getData->num_rows() > 0){
return $getData->result_array();
}else{
return null;
};
}
}
控制器:
class showObjek extends CI_Controller {
private $data= array();
public function showObjek(){
parent:: __construct();
$this->load->model("menuobjek","", TRUE);
$this->load->helper("url");
$this->load->database();
$this->load->library("pagination");
}
public function iniShow() {
$this->db->select("*");
$this->db->from("objekwisata");
$getData = $this->db->get();
$result = $getData->num_rows();
//var $detail;
$config["base_url"] = base_url()."index.php/showObjek/iniShow/";
$config["total_rows"] = $result;
$config["per_page"] = 10;
$config["uri_segment"] = 3;
$config["full_tag_open"] = "<p>";
$config["full_tag_close"] = "</p>";
$config["first_link"] = "<< First";
$config["last_link"] = "Last >> ";
$data["detail"] = $this->menuobjek->getWisata($config["per_page"], $this->uri->segment(3));
$this->pagination->initialize($config);
$data["pagination"]= $this->pagination->create_links();
$this->load->view("menu_view", $data);
}
}
类showObjek扩展CI_控制器{
private$data=array();
公共功能showObjek(){
父项::_构造();
$this->load->model(“menuobjek”,TRUE);
$this->load->helper(“url”);
$this->load->database();
$this->load->library(“分页”);
}
公演{
$this->db->select(“*”);
$this->db->from(“objekwisata”);
$getData=$this->db->get();
$result=$getData->num_rows();
//var$详细信息;
$config[“base_url”]=base_url().“index.php/showObjek/iniShow/”;
$config[“总计行数”]=$result;
$config[“每页”]=10;
$config[“uri_段”]=3;
$config[“完整标签打开”]=“”;
$config[“完整标签关闭”]=“”;
$config[“第一个链接”]=“第一个”;
$config[“last_link”]=“last”;
$data[“detail”]=$this->menuobjek->getWisata($config[“每页”],$this->uri->segment(3));
$this->pagination->initialize($config);
$data[“分页”]=$this->pagination->create_links();
$this->load->view(“菜单视图”,$data);
}
}
最后一个观点是:
//if(isset($detail)){
foreach($detail as $rows){
echo"
<li>
<a href=''>
<img src='#' class='img-rounded' />
<p class='judul_objek'>".$rows['namaObjWisata']."</p>
<article>
".$rows['deskripsiObjWisata']."
</article>
</a>
</li>
";
}
//}
//如果(设置($detail)){
foreach($行的详细信息){
回声“
";
}
//}
这将显示以下错误:
遇到一个PHP错误
严重性:通知
消息:未定义变量:详细信息
文件名:views/menu_view.php
电话号码:124
遇到一个PHP错误
严重性:警告
消息:为foreach()提供的参数无效
文件名:views/menu_view.php
电话号码:124
我真的很困惑。我必须解决这个问题。求求你,谁来帮帮我
谢谢。您正在传递url中的第三段吗。因为如果不是,那么在模型中它将导致null。因此foreach将无法找到$details。我认为您需要为第一页大小写指定一个默认值。也就是说,如果uri段3不存在,那么它就是第一页,因此模型应该将其他内容作为参数,而不是uri段3
if(!preg_match('{^\d+$}',$uri)){
$this->db->limit($perPage); //first page
}else{
$this->db->limit($perPage, $uri);
}
$getData = $this->db->get();
//$getData = $this->db->get("", $perPage,$uri );
objekwisata
表可能不包含任何记录,说明函数getWisata
在详细信息
变量中返回空值的原因。和数组包含至少一个foreach()
循环的索引。请检查表中是否有记录 尝试打印($data[“detail”])在$data[“detail”]=$this->menuobjek->getWisata($config[“每页”],$this->uri->segment(3))之后在控制器中编写>并检查是否获得值。我没有获得值。我尝试var_dump($detail),结果为空@LimiJerintry打印($this->db->last_query());在$getData=$this->db->get(“,$perPage,$uri)之后;仍然不工作:(@JOELEEYes,我正在通过第三段。我想从数据库获取数据时发生了错误。我已经检查了它,记录已经存在。