从JQuery Accordion中删除行,然后从MySQL中删除行

时间:2012-07-26 13:27:08

标签: php jquery mysql

我试图在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>

2 个答案:

答案 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) {});
});
});