无法使用$ .ajax()函数从数据库中删除记录

时间:2014-03-01 10:33:09

标签: php jquery

我有记录列表。我有删除每个记录的按钮,我正在删除$.ajax()功能的记录。但是,当我点击删除按钮时,它不会从数据库中删除记录,当我提醒数据时,它会输出整个html页面。下面是代码。请帮帮我。

html代码

<tbody>
      <tr class="gradeX odd">
        <td class="sorting_1">2</td>
        <td class=" ">test</td>
        <td class=" ">test</td>
        <td class="center ">0</td>
        <td class="center ">Active</td>
        <td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button>
          <button type="button" class="btn btn-danger btn-default btn-circle" id="2" name="deleteRecord"><i class="fa fa-times"></i></button></td>
      </tr>
      <tr class="gradeX even">
        <td class="sorting_1">3</td>
        <td class=" ">sarees</td>
        <td class=" ">contains sarres</td>
        <td cl="center ">1</td>
        <td class="center ">Active</td>
        <td class=" "><button type="button" class="btn btn-default btn-circle" name="editRecord"><i class="fa fa-pencil-square-o"></i></button>
          <button type="button" class="btn btn-danger btn-default btn-circle" id="3" name="deleteRecord"><i class="fa fa-times"></i></button></td>
      </tr>

    </tbody>

jquery的

$(document.body).on('click', '[name="deleteRecord"]', function(){
     var id= $(this).attr('id');
     var parent = $(this).parent().parent();
      if (confirm("Are you sure you want to delete this row?"))
        {
         $.ajax({
                   type: "GET",
                   url: "admin_operation.php?mode=delete_category&id="+id,
                   cache: false,

                   success: function(data)
                   { 
                    alert(data);
                    parent.fadeOut('slow', function() {$(this).remove();});
                   }
             });
        }
   });

php代码

 $mode = $_GET['mode'];

 if($mode!='add_category' || $_GET['mode']!= "delete_category")
 {
     header('location:dashboard.php');
     die;

  }


    if($mode=='delete_category')
    {    

       $id=$_GET['id'];
       $q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
       if($q){ echo "yes";}
       else{ echo "no";}

    }

1 个答案:

答案 0 :(得分:0)

你在javascript中发送'url:“admin_operation.php? mode = delete_category &amp; id =”+ id,'。 并且,在PHP脚本中,您有一个重写标头和退出脚本的条件。

if($mode!='add_category' || $_GET['mode']!= "**delete_category**")
{
    header('location:dashboard.php');
    die;
}

下一段代码

if($mode=='delete_category')
{
    // ...
}   

永远不会到达。 希望这可以帮助您解决问题。