我已经使用此功能从表中删除记录。删除操作完成后,页面会显示所有数据(包括已删除的数据),但是,我需要刷新或重新加载页面,以便在删除行后查看结果。如何在以下代码中完成? Thanx提前!!
public function deletedata(){
if(isset($_GET['del_id'])){
$delete_id = $_GET['del_id'];
$query ="DELETE FROM tbl_data WHERE project_id ='".$delete_id."' ";
$this->databaseObject->getConnection()->query($query);
}
答案 0 :(得分:2)
通常您会使用header
功能重新加载页面。
这样的事情应该有效:header('Location: '.$_SERVER['REQUEST_URI']);
http://php.net/manual/en/function.header.php
或者,根据代码的结构,您可以在检索记录的代码之前调用删除代码。这样你就可以避免重新加载页面了。
答案 1 :(得分:1)
正如laurencek的替代方案中所提到的,可能没有必要重新加载页面。 只需在呈现HTML之前执行任何必要的记录删除。
<?php
$delete_id=isset($_GET['del_id'])&&is_numeric($_GET['del_id'])?$_GET['del_id']:false;
if ($delete_id) {
$query ="DELETE FROM tbl_data WHERE project_id ='".$delete_id."' ";
$this->databaseObject->getConnection()->query($query);
}
$query ="SELECT * FROM tbl_data WHERE 1;";
$this->databaseObject->getConnection()->query($query);
?>
<html>
// some php/html to loop through the query and display records
</html>
这假设您的ID是数字。 如果没有,我强烈建议在将变量引入数据库之前检查/转义变量。