php - Codeigniter Ajax 删除一条记录并返回可用记录数

标签 php jquery mysql ajax codeigniter

下面是我的 html、ajax 和数据库脚本,用于从数据库中删除记录,

HTML

<input type="file" name="gallery[]" id="gallery" data-maxupload="<?php echo $maxupload; ?>" multiple="">
<div> 
<img src="..." class="item-1768"> <span class="del_button-" id="del-1768">X</span>
........
</div>

AJAX

$("body").on("click", ".del_button", function(e) {
     e.preventDefault();
     var clickedID = this.id.split('-');
     var DbNumberID = clickedID[1];
     var myData = 'recordToDelete='+ DbNumberID; 
     var base_url = '<?php echo base_url(); ?>';
    $('.item_'+DbNumberID).addClass( "sel" ); 
    $(this).hide(); 
      $.ajax({
      type: "POST",
      url: base_url + "client/delete_gallery_image",
      dataType: "text",
      data:myData,
      success:function(response){
        $('.item_'+DbNumberID).fadeOut();
        console.log(response);
      },
      error:function (xhr, ajaxOptions, thrownError){
        alert(thrownError);
      }
      });
  });

型号,

public function delete_gallery_image($id){
        $this->db->delete('employer_gallery', array('id' => $id));
        return $this->db->affected_rows();
    }

此代码的基本思想是允许用户仅上传 5 个文件。由于动态 ajax 删除,我无法获取实时记录数。上面的代码在删除记录方面效果很好。现在我想返回数据库中的剩余行。

所以在模型中,我尝试使用这样的东西,

public function delete_gallery_image($id){
        $this->db->delete('employer_gallery', array('id' => $id));
        $sql = " SELECT * FROM (`employer_gallery`) where user_id = $id";
        $query = $this->db->query ( $sql );
        return $query->num_rows ();
    }

如果我得到一个计数,我可以将其分配给变量 $maxupload。这样我就可以对文件选择进行一些验证。但上面的模型不起作用,它给了我一个 500 内部服务器错误。

有什么办法可以解决这个问题吗?

最佳答案

function delete_gallery_image($id) {
    $this->db->delete ( 'employer_gallery', array (
            'id' => $id 
    ) );

    /* Flush the DB cache */
    $this->db->flush_cache ();

    /* $sql = " SELECT * FROM (`employer_gallery`) where user_id = $id"; */

    $this->db->select ( '*' );
    $this->db->from ( 'employer_gallery' );
    return $rowcount = $query->num_rows ();
}

关于php - Codeigniter Ajax 删除一条记录并返回可用记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823499/

相关文章:

php - 使用PHP更新带有txt文件内容的网页

php - 推迟在 HTML 表中加载 MySQL 结果的正确方法是什么?

macos - 使用 MAMP Pro php.ini 而不是 OSX php

javascript - Sebastien 的 jquery.flowchart 如何手动添加运算符连接器、重命名运算符连接器、保存

php - 在 MySQL 中,删除然后插入更快还是更新现有行更快?

mysql - 为什么 MySQL 更改了用于同一查询的索引?

PHP-Mysql查询不必要地插入数据两次

javascript - 检查可变数量的 html 文本输入的值总和

c# - 如何在 Javascript 中设置 ASP.NET 服务器时间

mysql - Sqlite 查询选择语句,其排序结果尊重 OFFSET