使用jQuery和SQL从表中删除数据

时间:2013-08-11 02:42:44

标签: php jquery mysql ajax

这是我的代码的一部分,我正在使用ajax帖子并删除数据,一切正常,除了数据没有从我的数据库中删除。我究竟做错了什么? 我们走了:

档案view.php

<table class='uk-table uk-table-striped'><tbody>
<thead>
<tr>
<th>Ano</th>
<th>Grau</th>
<th>Serie</th>
<th>Curso</th>
<th>Instituição</th>
<th>Cidade</th>
<th>Estado</th>
<th>Excluir?</th>
</tr>
</thead>

<script type="text/javascript">
$(document).ready(function() {
$('#load').hide();
});

$(function() {
$(".delete").click(function() {


 if (confirm("Tem certeza?"))
                {
                    var row = $(this).parents('tr:first');
                    var id = $(this).attr("id");
                    var data = 'id=' + id ;

$.ajax({
   type: "post",
   url: "delete.php",
    data: data,
   cache: false,
   success: function(){ 
    row.slideUp('slow', function() {$(row).remove();});

  }


 });


 }

return false;
    });
});


echo "<tr id='".$historico['id']."'>";
echo "<td>".$historico['ano']."</td>";
echo "<td>".$grau['grau']."</td>";
echo "<td>".$serie['serie']."</td>";
echo "<td>".$curso['curso']."</td>";
echo "<td><a href='index.php?option=com_community&view=groups&task=viewgroup&groupid=".$grupo['id']."'>".$grupo['name']."</a></td>";
echo "<td>".$cidade['nome']."</td>";
echo "<td>".$estado['sigla']."</td>";
echo "<td><button class='delete uk-button uk-button-danger'>Delete</button></td>";
echo "</tr>";</tbody></table>

文件delete.php

<?php 

include 'con.php';
$id= $_POST["id"];

$query=mysql_query("DELETE FROM historico WHERE id = '$id'")or die(mysql_error());




?>

2 个答案:

答案 0 :(得分:2)

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

这是试图读取被点击的按钮的ID。你需要tr:

的id
var id = row.attr("id");

您也不需要:first,只需要包含该按钮的tr

var row = $(this).parents('tr');

parent('tr')应该有效,而不是parents。 (父母可能会工作但不必要。)

答案 1 :(得分:0)

使事情更简单,在每个删除按钮中打印id。

echo "<td><button class='delete uk-button uk-button-danger' id='".$historico['id']."'>Delete</button></td>";

然后按原样使用您的代码。

  

正如Andy G所说你必须删除或修改tr的id属性值