2017-10-11 89 views
0

我有此代码,一切工作正常,但从表命令删除记录不起作用。Ajax使用自定义弹出警告框从PHP中删除从MySQL使用自定义弹出警告框

这里是头板

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"> 
</script> 
<script type="text/javascript" src="http://www.phpzag.com/demo/delete-records-with-bootstrap-confirm-modal-using-php-mysql/script/bootbox.min.js"></script> 

<script type="text/javascript" src="deleteRecords.js"></script> 

这里是身体代码

<?php require('db_connect.php'); ?> 
<table class="table table-striped table-bordered"> 
<thead> 
<tr> 
<th>Comments</th> 
<th>Actions</th> 
</tr> 
</thead> 
<tbody> 
<?php 
$sql = "SELECT * FROM comments"; 
    $select = mysql_query($sql); 
    while($rows = mysql_fetch_array($select)){ 
?> 
<tr> 
<td><?php echo $rows["usercom"]; ?></td> 
<td> 
<a class="delete_employee" data-emp-id="<?php echo $rows["id"]; ?>" href="javascript:void(0)"> 
<i class="glyphicon glyphicon-trash"></i> 
</a></td> 
</tr> 
<?php } ?> 
</tbody> 
</table> 

其deleteRecords.js代码

$(document).ready(function(){ 
    $('.delete_employee').click(function(e){ 
     e.preventDefault(); 
     var empid = $(this).attr('data-emp-id'); 
     var parent = $(this).parent("td").parent("tr"); 
     bootbox.dialog({ 
      message: "Are you sure you want to Delete ?", 
      title: "<i class='glyphicon glyphicon-trash'></i> Delete !", 
      buttons: { 
       success: { 
        label: "No", 
        className: "btn-success", 
        callback: function() { 
         $('.bootbox').modal('hide'); 
        } 
       }, 
       danger: { 
        label: "Delete!", 
        className: "btn-danger", 
        callback: function() { 
        $.ajax({ 
         type: 'POST', 
         url: 'delete.php', 
         data: 'empid='+empid 
        }) 
        .done(function(response){ 
         bootbox.alert(response); 
         parent.fadeOut('slow'); 
        }) 
        .fail(function(){ 
         bootbox.alert('Error....'); 
        }) 
       } 
      } 
     } 
    }); 
}); 

});

,这里是delete.php

<?php require('db_connect.php'); 

if($_POST['empid']) { 
$sql = "DELETE FROM comments WHERE id='".$_POST['empid']."'"; 
if($sql) { 
echo "Record Deleted"; 
} 
} 
?> 

现在,问题是,当我删除图标点击,并在弹出的警告,我确认删除,记录消失暂且。但它并没有从数据库中被删除,当我刷新页面。该记录再次出现。

我不明白为什么在delete.php中删除命令不起作用。 此外,我希望弹出警报有点变化,当我点击确认删除时,会弹出一个弹出式消息,结果消息已成功删除 我不想显示此消息。该怎么办。 Plz帮我

+1

你现在正在执行你的'$ sql'命令吗? – SpOOnisBacK

+0

你可以在你的ajax代码中更改为'data:{'empid':empid}'并尝试吗?从'.done'处理程序中删除'bootbox.alert(response);'以删除成功消息 – Niladri

+0

此外,查询永远不会在这里执行 – Niladri

回答

1

IF条件返回TRUE,因为$ sql var有内容,但是你不执行查询。

+0

我的天哪,我在执行时犯了错误。是的,它的工作。但唯一不变的是不显示成功查询的第二次提醒 – Mian