我试图在JQuery中从手风琴中删除一行,然后使用删除更新我的数据库。到目前为止,手风琴中的行的移除工作正常。我然后尝试获取已删除行的索引并将其发回到同一页面,以便它可以运行MySQL查询以删除数据库中的行,然后从数据库重新加载手风琴,因为该行已被删除
我的JavaScript有限,所以我不认为我正确地传递了索引?
感谢您的帮助。
<?PHP
if(isset($_POST['id'])){
$id = intval($_POST['id']);
mysql_query("DELETE FROM `$db_name`.`$tbl_3` WHERE id='$id'");
unset($_POST['id']);
header("Location: ".$siteurl."messenger.php");
}
?>
<SCRIPT>
$(function(){
$( "#inbox" ).accordion({
collapsible: true,
icons: { "header": "ui-icon-plus", "headerSelected": "ui-icon-minus" },
active: false
});
$('#myClicker').click(function() {
var parent = $(this).closest('DIV');
var head = parent.prev('DIV');
parent.add(head).fadeOut('slow',function(){$(this).remove();});
var index = jQuery(this).find("H4").index(ui.newHeader[0]);
$.post('messenger.php', { id: index }, function(data) {});
});
});
</SCRIPT>
这就是我如何显示数据库中的数据。
<DIV id="inbox">
<?PHP
$sql="SELECT * FROM `$tbl_3` ORDER BY id DESC";
$result = mysql_query($sql);
while ($row=mysql_fetch_row($result))
{
?>
<DIV>
<H4><A href="#"><?PHP echo "".$row[3]."";?></A></H4>
</DIV>
<DIV>
<P><?PHP echo "".$row[4]."";?></P>
<INPUT type="button" id="myClicker" value="delete"/>
</DIV>
<?PHP
}
?>
</DIV>
答案 0 :(得分:0)
我对这类事情使用完全不同的方法。
我做的是制作一个php函数/文件,为我编译accordeon,menu,table,div,当我需要它更新时,我简单地用生成器的ajax调用重新加载容器div的内容。
这样我就可以完成所有的猜测,只需要将一个值传递给php脚本。这个脚本也可以做数据库的东西。
答案 1 :(得分:0)
试试这个
$('#myClicker').click(function() {
var parent = $(this).closest('DIV');
var head = parent.prev('DIV');
var index = parent.prev('DIV').find("H4").index(ui.newHeader[0]);
parent.add(head).fadeOut('slow',function(){$(this).remove();});
$.post('messenger.php', { id: index }, function(data) {});
});
});