繁体   English   中英

Codeigniter从选择下拉列表中删除数据库数据

[英]Codeigniter Deleting database data from a select dropdown

我是codeigniter和PHP的新手,我正在尝试制作一个选择表单,我可以使用提交按钮从数据库中删除考试。

这些是我的代码行:

查看(examselect_view.php)

<form name='selectexam' action="<?php echo base_url() . "index.php/exam/removeExam/" . $exams->exam_id; ?>" method='post'>   
   <select class="form-control">
        <?php 
        foreach($exams as $row)
        { 
          echo '<option value="'.$row->exam_id.'">'.$row->examname.'</option>';
        }
        ?>
    </select>
    <input type="submit" name="delete" value="Verwijderen" class="btn btn-info" />
</form>

控制器(Exam.php)

function removeExam($id) {
// uri segment 3 = index.php/exam/examName/NUMBER OF ID
$id = $this->uri->segment(3);   
$this->exam_model->removeExam($exam_id);
}

型号(Exam_model.php)

function removeExam($id){
$this->db->where('exam_id', $id);
$this->db->delete('exam');
}

这是我从我的观点中得到的错误。

Message: Trying to get property of non-object

我知道问题出在表单动作的某个地方。 但我不知道如何改变它。

我现在无法测试。 但是有些事情应该有效。

在您的视图中,使用以下形式:

<form name='selectexam' action="<?php echo base_url() . "index.php/exam/remove/";?>" method='post'>   
   <select class="form-control" name="exam_id">
        <?php 
        foreach($exams as $row)
        { 
          echo '<option value="' . $row->exam_id . '">' . $row->examname . '</option>';
        }
        ?>
    </select>
    <input type="submit" name="delete" value="Verwijderen" class="btn btn-info" />
</form>

在你的控制器中:

function remove() {

    if($_SERVER['REQUEST_METHOD'] == 'POST'){
        $exam_id = $_POST['exam_id'];   
        $this->exam_model->removeExam($exam_id);

        redirect('/exam/');
    }
}

作为一般规则,永远不要仅基于URL进行破坏性更改。 如果您不小心,网站索引机器人(例如谷歌)可能会意外删除您的所有考试。

你有<?php echo base_url() . "index.php/exam/removeExam/" . $exams->exam_id; ?> <?php echo base_url() . "index.php/exam/removeExam/" . $exams->exam_id; ?> <?php echo base_url() . "index.php/exam/removeExam/" . $exams->exam_id; ?>可能是你的$exams是数组不是对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM