AJAX删除数据库条目

时间:2016-12-30 05:07:36

标签: php jquery mysql ajax

我是AJAX的新手(以及一般的网站开发),我在使用jQuery和AJAX删除wordpress中的数据库条目时遇到问题。
用户选择表格中的条目并单击按钮将其删除。 该表是使用datatables插件和广泛的编码创建的,以使其按照我需要的方式工作。
jQuery代码在functions.php中,实际查询在服务器上的文件中。
我一直使用这个how to delete records from database with an Ajax作为代码的基线。另外,请注意我使用的是wordpress 我的问题是它似乎没有从数据库中删除条目。

以下是functions.php中的代码

    var GroupID2Del = dt.row({
          selected: true
      })
      .data()[23];
  if (confirm('Are you sure you want to delete this row?')) {
      jQuery.ajax({
          type: 'POST'
          , url: '/wp-content/AJAX/ViewTable_DeleteEntry.php'
          , data: 'groupid=' + GroupID2Del
          , success: function (data) {
              dt.row({
                      selected: true
                  })
                  .remove();
              jQuery('#UserTable')
                  .DataTable()
                  .draw();
              alert(data);
          }
      });
  }

GroupID2Del是我如何获取表中所选行的id。然后我从表中删除行。该行确实被删除了。

以下是ViewTable_DeleteEntry.php

<?php
    $dataPosted = $_POST['groupid'];
    $sql = ('delete from wp_piic_formmaker_submits WHERE form_id = 13 and group_id ='.$dataPosted);
        mysql_query($sql); 
    $count = mysql_affected_rows();
        print $count;?>
function.php中的

警报提供了正确的sql,但$count为空,因为它实际上没有删除任何内容。

4 个答案:

答案 0 :(得分:0)

请试试这个:

 var myKeyVals = { groupid : GroupID2Del}
    jQuery.ajax(
      {
         type: 'POST',
         url: '/wp-content/AJAX/ViewTable_DeleteEntry.php',
         data: myKeyVals,
         success: function(data)
         {
            dt.row({selected: true }).remove();                                             
            jQuery('#UserTable').DataTable().draw();
            alert(data);
         }
     });

AND

$dataPosted = $_POST['groupid'];
if($dataPosted != ''){
$sql = ('delete from wp_piic_formmaker_submits WHERE form_id = 13 and group_id ='.$dataPosted);
    mysql_query($sql); 

$count = mysql_affected_rows();
} else {
echo 'Blank Record';
}

答案 1 :(得分:0)

所以问题是我没有连接到数据库,所以我在php文件的开头添加了以下行

 <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";


mysql_connect($servername, $username, $password, $dbname) or die("Connection failed");
mysql_select_db($dbname) or die("No Database found.");

答案 2 :(得分:0)

Ajax文件

$.ajax({
    url: custom_js.ajax,
    type: 'POST',
    dataType: "json",
    data: {
        'action': 'my_action',
        'post_id': id
    },
    success: function(data) {
        if (data.status == 1) {
            console.log(data);
            s_row.remove();
        } else {
            alert(data.msg);
        }
    }
});

答案 3 :(得分:-1)

function delete_row()
{   
    $id=$_REQUEST['post_id'];
    $t_response = array('status'=>4,'msg'=>'Invalid Parameter');
    if( $id == false ) {
        $t_response = array('status'=>3,'msg'=>'Invalid ID');

    } else {
        global $wpdb;
         $remove = $wpdb->query("DELETE FROM wp_posts WHERE ID = ".$id);
        if($remove) {
            $t_response = array('status'=>1,'msg'=>'Record Deleted');
        } else {
            $t_response = array('status'=>2,'msg'=>'Error Occure While Deleting Your Record Deleted');
        }
    }
    echo json_encode($t_response);
    die();
}