首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为foreach()提供的codeigniter参数无效

为foreach()提供的codeigniter参数无效
EN

Stack Overflow用户
提问于 2015-05-09 23:24:20
回答 1查看 218关注 0票数 1

我有一个完整的工作代码检索,插入,更新和删除数据到数据库。

一切正常,但如果我删除了一些数据,它就会被删除,但当再次指向我的视图页面时,它将返回"Invalid argument supplied for foreach()“。

当我再次按下我的查看页面链接,它是正常的,我删除的数据也消失了,这只是发生在删除功能。

代码:

控制器:

代码语言:javascript
运行
复制
public function merk(){
        //$data["result"] = $this->modelAdminMerk->getMerk();
        $data["totalRows"] = $this->modelAdminMerk->getTotalRows();

        $config["base_url"] = base_url() . "admin/merk";
        $config["per_page"] = 15;
        $config["total_rows"] = $data["totalRows"];
        $config["uri_segment"] = 3;
        $config["num_links"] = 10;

        $this->pagination->initialize($config);

        if( ! $this->uri->segment(3)){
            $page = 0;
        }else{
            $page = $this->uri->segment(3);
        }

        $data["results"] = $this->modelAdminMerk->getMerkByPages($config["per_page"], $page);
        $data["links"] = $this->pagination->create_links();

        $this->load->view("adminView/adminHeader");
        $this->load->view("adminView/adminMerk", $data);
        $this->load->view("adminView/adminFooter");
    }

    public function insertMerk(){
        $this->load->view("adminView/adminHeader");
        $this->load->view("adminView/adminInsertMerk");
        $this->load->view("adminView/adminFooter");
    }

    public function validateInsertMerk(){
        $this->form_validation->set_rules("namaMerk", "Nama Merk", "trim|required|min_length[3]|max_length[30]");

        if($this->form_validation->run()){

            $newMerk = array("merk" => $this->input->post("namaMerk"));
            $this->modelAdminMerk->insertMerk($newMerk);
            $this->merk();
        }else{
            echo "GAGAL!!!";
        }
    }

    public function editMerk($id){
        $data["merk"] = $this->modelAdminMerk->getMerkById($id);

        $this->load->view("adminView/adminHeader");
        $this->load->view("adminView/adminEditMerk", $data);
        $this->load->view("adminView/adminFooter");
    }

    function validateEditMerk(){
        $this->form_validation->set_rules("namaMerk", "Nama Merk", "trim|required|min_length[3]|max_length[30]");

        if($this->form_validation->run()){

            $newMerk = array("merk" => $this->input->post("namaMerk"));
            $this->modelAdminMerk->editMerk($this->input->post("id"), $newMerk);
            $this->merk();
        }else{
            echo "GAGAL";
        }

    }

    public function deleteMerk($id){
        $this->modelAdminMerk->deleteMerk($id);
        $this->merk();
    }

型号:

代码语言:javascript
运行
复制
function getMerk(){
        $data = $this->db->query("SELECT * FROM merkbarang");
        return $data->result();
    }

    function getMerkById($id){
        $this->db->where("id", $id);
        $data = $this->db->get("merkbarang");
        return $data->row();
    }

    function insertMerk($newMerk){
        $this->db->insert("merkbarang", $newMerk);
        return true;
    }

    function editMerk($id, $newMerk){
        $this->db->where("id", $id);
        $this->db->update("merkbarang", $newMerk);
        return true;
    }

    function deleteMerk($id){
        $this->db->where("id", $id);
        $this->db->delete("merkbarang");
        return true;
    }

    function getTotalRows(){
        $rows = $this->db->count_all("merkbarang");

        return $rows;
    }

    function getMerkByPages($limit, $start){
        $this->db->limit($limit, $start);
        $query = $this->db->get("merkbarang");

        if($query->num_rows() > 0){
            foreach ($query->result() as $row){
                $data[] = $row;
            }
            return $data;
        }else{
            return false;
        }
    }

查看:

代码语言:javascript
运行
复制
<div class="container">
    <div class="row">
        <div class="col-md-3">
            <div class="panel panel-danger">
                <div class="panel-body">
                    <ul class="nav nav-pills nav-stacked">
                        <li role="presentation" class="active"><a href="<?php echo base_url(); ?>admin/insertMerk">Insert Merk</a></li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="col-md-9">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <strong>Merk</strong>
                </div>
                <div class="panel-body">
                    <div class="row" id="tabelBarang">
                        <div class="col-md-1 colBarang">
                            <strong>No</strong>
                        </div>
                        <div class="col-md-7 colBarang">
                            <strong>Merk</strong>
                        </div>
                        <div class="col-md-4 colBarang">
                            <strong>Action</strong>
                        </div>
                    </div>

                    <?php 
                        $angka = 0;
                        foreach ($results as $row){
                            $id = $row->id;
                            $merk = $row->merk;
                    ?>


                    <div class="row" id="tabelBarang">
                        <div class="col-md-1 colBarang">
                            <?php echo ++$angka; ?>
                        </div>
                        <div class="col-md-7 colBarang">
                            <?php echo $merk; ?>
                        </div>
                        <div class="col-md-2 colBarang">
                            <button type="button" class="btn btn-info btn-xs" aria-label="Left Align">
                                <a href="<?php echo base_url(); ?>admin/editMerk/<?php echo $id; ?>">Edit</a>                         
                            </button>
                        </div>
                        <div class="col-md-2 colBarang">
                            <button type="button" class="btn btn-danger btn-xs" aria-label="Left Align">
                                <a href="<?php echo base_url(); ?>admin/deleteMerk/<?php echo $id; ?>">Delete</a>                         
                            </button>
                        </div>
                    </div>

                    <?php 
                        }
                    ?>
                    <?php echo $links; ?>
                </div>


            </div>
        </div>
    </div>
</div>
EN

回答 1

Stack Overflow用户

发布于 2015-05-10 01:30:42

在我看来,您的代码中没有任何错误,这绝对可以工作,但我建议您在delete函数中尝试CI的redirect()方法

代码语言:javascript
运行
复制
public function deleteMerk($id){
        $this->modelAdminMerk->deleteMerk($id);
        redirect('controllername/merk');
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30141724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档