0

私は自分のアプリケーションに Codeigniter を使用していますが、これは初心者です。Codeigniter からいくつかのエラーが発生します。変数エラーに気を取られています。

だから、これは私のモデルです:

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

最後はビューです:

                   //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 エラーが発生しました

重大度: 通知

メッセージ: 未定義の変数: 詳細

ファイル名: views/menu_view.php

ライン番号: 124

PHP エラーが発生しました

重大度: 警告

メッセージ: foreach() に無効な引数が指定されました

ファイル名: views/menu_view.php

ライン番号: 124

私は本当に混乱しています。これを修正する必要があります。誰か助けてください。

ありがとうございました。

4

3 に答える 3

0

URL の 3 番目のセグメントを渡していますか。そうでない場合、モデルではnullになるためです。そのため、foreach は $details を見つけられません。最初のページ ケースにデフォルト値を割り当てる必要があると思います。つまり、uri セグメント 3 が存在しない場合、それは最初のページであるため、モデルは URI セグメント 3 の代わりに別のものを引数として取る必要があります。

于 2013-04-30T08:57:49.640 に答える
0

objekwisatatable には、変数function getWisataに null 値を返す理由があるレコードが含まれていない可能性があります。detailまた、配列には少なくとも 1 つのインデックス forforeach()ループが含まれています。レコードがテーブルに存在するかどうかを確認してください。

于 2013-04-30T09:02:58.703 に答える