单击删除按钮后页面不刷新

时间:2013-04-23 07:29:03

标签: php

美好的一天

在这里需要一些帮助,我的删除按钮有效但单击删除按钮后页面不会自动刷新。我仍然需要手动从数据库中检索数据,这反映出数据已被删除......

这是我删除php的代码:如何让它自动刷新页面?

<?php
require 'include/DB_Open.php';

$id = $_POST['id'];
    $idtodelete = "'" . implode("','",$id) . "'";


    $query = "DELETE FROM tbl WHERE ticket in (" . $idtodelete . ")";
    $myData = mysql_query($query);
    echo "DATA DELETED";

    if($myData)
    {
    header("Location: delete.php");
    }

include 'include/DB_Close.php';
?>

3 个答案:

答案 0 :(得分:0)

如果您使用此方法更好地使用post方法

if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
    $id         = $_POST['id'];
    $idtodelete = "'" . implode("','",$id) . "'";
    $query      = "DELETE FROM tbl WHERE ticket in (" . $idtodelete . ")";
    if (mysql_query($query))
    {
      header("Location: delete.php");
    } else {
      echo "Can not delete";
    }
}

答案 1 :(得分:0)

我建议在删除逻辑后获取数据。然后在获取票证之前执行删除逻辑。 然后甚至不需要重定向到同一页面。

//
// DELETE
//
if (isset($_POST['delete'] && isset($_POST['id'])) {
     // Do delete stuff, 
     // notice delete variable which would be the name of the delete form button e.g.
     // If you like, you can still echo "Data deleted here" in e.g. a notification window
}
//
// FETCH data
//
$query = "Select * FROM tbl";
...

答案 2 :(得分:0)

正如其中一条评论和php文档中所建议的那样:

http://it2.php.net/manual/en/function.header.php

请记住,在发送任何实际输出之前,必须通过普通HTML标记,文件中的空行或PHP来调用header()。使用include或require,函数或其他文件访问函数读取代码是一个非常常见的错误,并且在调用header()之前输出空格或空行。使用单个PHP / HTML文件时存在同样的问题。

基本上你必须拿出:

echo "DATA DELETED";

如果要重定向页面,尝试回显该字符串有什么意义?

如果你想让它变得有趣,你可以使用Ajax删除它,并在显示消息后在x秒触发setTimeout()

或者,如果你真的非常真的,真的,想要这样做,你可以禁用错误报告/显示(使用error_reporting(0)ini_set('display_errors', 'Off')。根据经验我知道它会工作,但这是令人讨厌的,并且极端强烈不推荐