无法使用编码器显示数据和分页(PHP错误)


Cannot Show Data and Pagination using Codeigniter (Error PHP)

我使用Codeigniter为我的应用程序,我是一个新手。我从Codeigniter得到几个错误。变量error让我分心了

这是我的模型:

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"] = "&lt;&lt; First";
    $config["last_link"] = "Last &gt;&gt; ";

    $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);
   }
}

最后一个是View:

                   //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>
                            ";
                    }
                //}

显示以下错误:

遇到PHP错误

严重性:注意

消息:Undefined variable: detail

文件名:视图/menu_view.php

行号:124

遇到PHP错误

严重性:警告

消息:为foreach()提供了无效参数

文件名:视图/menu_view.php

行号:124

我真的很困惑。我必须解决这个问题。拜托,谁来帮帮我。

谢谢。

您是否正在传递url中的第三段?因为如果你不是,那么在模型中它将导致null。因此foreach将找不到$details。我认为你需要为第一页指定一个默认值。也就是说,如果uri段3不存在,那么它是第一页,因此模型应该采用其他东西作为参数,而不是uri段3

TRY

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表可能不包含function getWisatadetail变量中返回空值的任何记录。对于foreach()循环,数组至少包含一个索引。请检查表中是否有记录。