2016-12-30 123 views
0

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

这里是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在function.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;?> 

警报提供正确的SQL,但$count是空的,因为它实际上并没有删除任何东西。

+0

你能'回声从wp_piic_formmaker_submits删除WHERE form_id = 13和GROUP_ID =” $ dataPosted;' – Akshay

+1

调试你的代码,检查你在'$ _POST'中得到了什么,如果你正在正确接收数据,那么检查@Akshay建议的查询。 – tejashsoni111

+0

我做了,我不知道我应该看到什么 但是,即使在拿出echo语句之后,我现在正在收到错误日志 PHP警告:mysql_query():访问被拒绝用户'ubm'@' localhost'(使用密码:NO)在第8行的/home1/rojectx3/public_html/wp-content/AJAX/ViewTable_DeleteEntry.php PHP警告:mysql_query():无法在/ home1/rojectx3中建立到服务器的链接/public_html/wp-content/AJAX/ViewTable_DeleteEntry.php on line 8 我想我还没有登录!在这个文件中使用用户名和密码不是不安全的吗?我怎么做? – G1408

回答

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); 
     } 
    }); 

$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'; 
} 
+0

没有工作 未捕获的ReferenceError:myKeyVals未定义 – G1408

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."); 
相关问题