0

我使用此代码来触发行删除:

<a href="javascript:void(0);" onclick='$.get("web_page.php",{ cmd: "delete_stmt", id_f: "<?php echo $rrows['id_f']; ?>", id: "<?php echo $row['id']; ?>" } ,self.location="web_page.php");'>delete</a>

这是代码:

if($get['cmd'] == 'delete_stmt') {
        $stmt = $conn_bd->prepare("DELETE FROM table WHERE id_f=:id_f and id=:id");
        $stmt->execute(array('id_f' => $get[id_f], 'id' => $get[id]));
        $stmt->execute();
    }

记录总是从数据库表中删除,但有时记录会显示在网页上。这发生在 IE、Firefox、Chrome 中......

你知道是什么原因造成的吗?

4

2 回答 2

1

将您的链接更改为:

<a href="javascript:void(0);" onclick='deleteItem("<?php echo $row['id_f']; ?>", "<?php echo $row['id']; ?>");'>delete</a>

...并添加此功能:

function deleteItem(row_id_f, row_id)
{
    $.get(
            "web_page.php",
            { cmd: "delete_stmt", id_f: row_id_f, id: row_id },
            function(data){

                self.location="web_page.php";

            }
        );
}

该链接将调用执行 ajax 调用的 deleteItem 函数,然后在执行页面重定向之前等待成功事件。

于 2012-11-24T15:09:42.087 回答
0

self.location 在 $.get() 调用之前执行。尝试创建一个函数并等待 $.get()。

可以使用jquery ajax这里是官方页面功能。它很容易使用。此外,如果您重定向这个自己的页面,您可以尝试隐藏“删除”并抛出一个警告框。

于 2012-11-24T15:22:33.180 回答