Php 从数据库中删除行并使用jquery查看

Php 从数据库中删除行并使用jquery查看,php,jquery,ajax,Php,Jquery,Ajax,我有一个显示以下数据的网页: | id | name | delete | | 1 | orange | delete | | 2 | apple | delete | etc... 当您按下delete(它是一个按钮)时,您会看到一个jquery对话框,再次显示两个按钮。您可以一次删除多个项目,也可以仅删除选定的项目 ------------------------------- |dialog | -------------------

我有一个显示以下数据的网页:

| id | name   | delete |
|  1 | orange | delete |
|  2 | apple  | delete | etc...
当您按下delete(它是一个按钮)时,您会看到一个jquery对话框,再次显示两个按钮。您可以一次删除多个项目,也可以仅删除选定的项目

-------------------------------
|dialog                       |
-------------------------------
|delete this row              |
|delete entire series         |
-------------------------------
我的问题是:例如,当在对话框中选择“删除此行”时,如何在jquery中获取所选行的ID?如何重定向到删除数据库中的行的php页面,然后重定向到当前更新的页面(删除该行)

我对jquery非常陌生,但到目前为止我得到的是:

JQuery

<script>
$(function() {
   $( ".dialog" ).dialog({ autoOpen: false });
});
$(function() {
  $(".showDialog").click( function()
       {
         $( ".dialog" ).dialog( "open");
       });   
 });
 $(function() {
  $( ".deleteEvent" ).click( function()
    { 

        $( ".dialog" ).dialog( "close");
        $(this).closest("tr").remove(); // doesn't work
    });
 });
 </script>

$(函数(){
$(“.dialog”).dialog({autoOpen:false});
});
$(函数(){
$(“.showDialog”)。单击(函数()
{
$(“.dialog”).dialog(“打开”);
});   
});
$(函数(){
$(“.deleteEvent”)。单击(函数()
{ 
$(“.dialog”).dialog(“关闭”);
$(this).closest(“tr”).remove();//不起作用
});
});
对话

<div class="dialog" title="delete event dialog">
    <input class="deleteEvent" type='button' value='delete this row'/>
</div>

桌子

foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}

当使用“删除输入”按钮输出html时,还要添加一个隐藏的输入字段,将id作为值传递

编辑:

我误读了你的代码,看起来你没有为每一行显示单独的输入按钮。对于您的情况,我建议将该行添加为div id值的一部分,或者在div中添加一个自定义属性,如下所示:

foreach($table as $row)
{
    echo '<tr><td>'.$row['id'].'</td>',
    '<td>'.$row['name'].'</td>',
    '<td><div id="row_'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
    '</tr>';
}
foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}

foreach($table作为$row)
{
回显'.$row['id'].'',
“.$row['name']”,
'',
'';
}

然后在您的点击事件中,您可以分别使用
$(this).attr('id').split('u')[1]
$(this).attr('row')
)来回答您的问题,特别是向我们展示您在被否决后所做的尝试。请解释原因?这种方法是标准做法。我没有投反对票,但我已经有了表中每一行的id。如何从jquery中要删除的行中访问id,以便调用从数据库中删除该行的phpscript?很抱歉,我误读了您的代码,您实际上没有为每一行设置单独的输入按钮..更新的回答很抱歉我的响应太晚,但我一直在努力使用jquery语法和递归函数。然而你的建议起了作用。非常感谢。
foreach($table as $row)
{
    echo '<tr><td>'.$row['id'].'</td>',
    '<td>'.$row['name'].'</td>',
    '<td><div id="row_'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
    '</tr>';
}
foreach($table as $row)
{
    echo '<tr><td>'.$row['id'].'</td>',
    '<td>'.$row['name'].'</td>',
    '<td><div row="'.$row['id'].'" class="showDialog" ><IMG style="margin-left:15px;" src="./public/pictures/trash.gif"></a></div></td>',
    '</tr>';
}