我是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
为空,因为它实际上没有删除任何内容。
答案 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();
}