【问题标题】:Deleting objects using checkboxes with Codeigniter使用带有 Codeigniter 的复选框删除对象
【发布时间】:2013-02-07 18:08:30
【问题描述】:

我已经阅读了很多这样的帖子,但未能找到我的特殊情况。尝试删除选中的复选框。现在您可以提交表单,它会将您带到所有正确的页面,但实际上并没有删除任何内容。

这是我的控制器信息

function deleteFolder() {
   if(array_key_exists('deleteMe',$_POST)) {
      $checkbox = $this->input->post['checkbox']; 
      $this->index_model->deleteFolder($checkbox);
   }
 $this->folderdeleted();
}

这是我的模型

function deleteFolder($checkbox) {
  $this->db->where('folderName', 'folderName'); 
  $this->db->delete('senior', $checkbox);
return;
}

这是我的观点

<!DOCTYPE html>
<?php $this->load->view('partials/page_head'); ?> 
<body>
  <div id="container">
    <div id="top">
      <div class="topcenter">
       <h2><a class="homebtn" href="<?php echo base_url();?>">Home</a></h2>
      </div>
      <div class="navdescription"><span>Delete Page</span></div>
    </div>
      <div class="projectFolders">
      <?php foreach($foldername as $row) { ?>
        <div class="folder">
          <button><?php echo $row->folderName; ?></button>
          <div class="delete">
            <form name="delete" method="post" action="<?php echo base_url(); ?>index.php/home/folderdeleted">    
              <p>
                <input type = "checkbox" id = "check_<?php echo $row->folderName; ?>"/>
                <?php echo form_submit('deleteFolder', 'Delete'); ?>
              </p>
          </form>
          </div>
        </div>
      <?php } ?>
    </div>
  </div><!-- End of container div -->
</body>
</html>

【问题讨论】:

  • 你的错误是什么,[]这些beackets没有使用()在$this->input->post()中使用

标签: php forms codeigniter checkbox


【解决方案1】:

您的代码中有几个错误。我不确定我是否找到了所有这些以及代码是否可以工作。

控制器应该是:

function deleteFolder() {
   if($this->input->post('checkbox') !== false) {
      $checkbox = $this->input->post('checkbox');
      $this->index_model->deleteFolder($checkbox);
   }
 $this->folderdeleted();
}

模型应该是:

function deleteFolder($checkbox) {
  $this->db->where('folderName', $checkbox); 
  $this->db->delete('senior');
return;
}

视图中的输入标签应该是:

                <input name="checkbox" value="<?php echo $row->folderName; ?>" type = "checkbox" id = "check_<?php echo $row->folderName; ?>"/>

对复选框的一点警告:如果不选中它们,您将不会在 $_POST 变量中找到任何内容。

【讨论】:

  • 所以即使有这些修复我仍然遇到问题(谢谢)。如果您需要更好地了解我做错了什么哈哈,这是我在 Github 上的项目的链接。 github.com/travi5567/SeniorProject.git
  • 我没有得到任何错误,对象实际上并没有删除是问题所在。希望我有一个错误来帮助我
  • 或许你可以尝试打印出一些变量来定位问题。例如控制器函数中的var_dump($_POST) 或删除语句后模型中的var_dump($this-&gt;db-&gt;queries)。最后一个将打印出发送到数据库的最后一个查询,您可以手动检查数据库中的最后一个查询(例如,在 phpmyadmin 中尝试查询并查看结果)。
猜你喜欢
  • 1970-01-01
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 1970-01-01
  • 1970-01-01
  • 2019-08-24
相关资源
最近更新 更多