Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $.ajax()函数返回整个页面,不能从数据库中删除行_Php_Jquery_Ajax - Fatal编程技术网

Php $.ajax()函数返回整个页面,不能从数据库中删除行

Php $.ajax()函数返回整个页面,不能从数据库中删除行,php,jquery,ajax,Php,Jquery,Ajax,我想使用ajax从记录中删除一行,但无法删除行和$。ajax()函数返回整个页面,而不是删除行 Html代码 <tbody> <tr class="gradeX odd"> <td class="sorting_1">2</td> <td class=" ">test</td> <td class=" ">test</td>

我想使用ajax从记录中删除一行,但无法删除行和
$。ajax()
函数返回整个页面,而不是删除行

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>
$(document.body).on('click', '[name="deleteRecord"]', function(){

     var id= $(this).attr('id');

     if(confirm('Are you sure ?')){
     $.ajax({
      type:'POST',
      url:'admin_operation.php?mode=delete_category',
      data: {id:id},
      success:function(data) {
        alert(data);
      }
  });
 }
});
 if($mode=='delete_category')
    {
       $id=$_POST['id'];

       $q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
        if($q) {
                echo "YES";
              }
              else 
              {
                echo "NO";
              }
    }
Php代码

<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>
$(document.body).on('click', '[name="deleteRecord"]', function(){

     var id= $(this).attr('id');

     if(confirm('Are you sure ?')){
     $.ajax({
      type:'POST',
      url:'admin_operation.php?mode=delete_category',
      data: {id:id},
      success:function(data) {
        alert(data);
      }
  });
 }
});
 if($mode=='delete_category')
    {
       $id=$_POST['id'];

       $q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
        if($q) {
                echo "YES";
              }
              else 
              {
                echo "NO";
              }
    }

$mode
应该是
$\u GET['mode']


或者,将
url:'admin\u operation.php?mode=delete\u category',
更改为
url:'admin\u operation.php',
并将
数据:{id:id},
更改为
数据:{id:id,mode:'delete\u category',
并设置
$mode=$\u POST['mode]


如果这不起作用,那么您可能已经在向页面回显内容了。我们需要在文件其余部分的上下文中查看代码,以确定是否已经将内容回送到页面。另外,正如其他人所指出的,您应该
退出
在if块末尾或每次回显之后,以避免从文件后面返回代码。

首先,需要在
$.ajax
方法中设置
数据类型

  $.ajax({
      type:'POST',
      url:'admin_operation.php?mode=delete_category',
      data: {id:id},
      dataType: 'json', // <-----
      success:function(data) {
        console.log(data); // should be something like {'status' : 'YES'}
      }
  });
如果查询字符串中的($\u GET['mode'].=='delete\u category')//变量被视为$\u GET { $id=$_POST['id']

   $q=$db->query("DELETE FROM db_category WHERE category_id='".$id."'");
    if($q) {
            echo "YES";
          }
          else 
          {
            echo "NO";
          }
}
当你在警报中有“是”或“否”的回应时,你只会得到那个
如果您想在删除之前存储已删除的行并回显..

什么是
$mode
模式?在一个页面中有很多删除操作,因此它会检查类别删除。我刚刚更新了答案,请尝试
控制台.log(数据)
。它应该类似于
{'status':'YES'}
您尝试过
控制台.log(数据)吗
?如果是,请提供输出如何从数据库中删除行?如果($\u-get['mode'.='delete\u-category')//查询字符串中的变量被视为$\u-get{$id=$\u-POST['id'];无法理解您所说的内容。如果($mode='delete\u-category'){$id=$\u-POST['id'];//获取已删除的行值并存储在数组$deleted_Row;$sql=“SELECT*FROM db_category,其中category_id=”“$id.”“;$result=mysql_查询($sql);while($Row=mysql_fetch_assoc($result)){$deleted_Row=$Row;}$q=$db->query(“从db_类别中删除,其中类别_id=”“$id.”“”;if($q){echo$deleted_row;}else{echo“NO”;}admin_operation.php?mode=delete_category在此“?”之后,它被称为查询字符串。如果我们想获取该变量,它必须由$\u GETthank you访问,但它与您之前所说的相同。$mode=$\u GET['mode'];您好,我在页面顶部设置了这个。另外,根据您所说的“多个删除操作”,您可能应该在case/switch语句
switch($mode){case'delete_category':…break;default:…break;}
这样一次只能操作一个。@JAL,这是作为查询字符串传递的,所以它应该在$\u GET中。