让我解释一下我需要做什么,下面的图片是我的页面。它连接到CentOs服务器上的mysql,php也在centos上。
- 有恢复和删除。
- 它要做的就是更新数据库上的值。
- 更新后,其更改将被恢复或删除。
- 我做了所有这些,我的问题是,当我单击它时,我看不到它的变化,我必须重新加载页面。
- 例如,如果我单击“删除”(使用 get),它会更新数据库,并且应该将自身更改为“恢复”,我有一个 php 代码可以使其更改,但我必须手动刷新页面。
- 我尝试过 php header ,它可以在 Xampp 上运行,但由于某些原因不能在此处运行。
.
$page = $_SERVER['PHP_SELF'];
$sec = "0.001";
header("Refresh: $sec; url=$page")
还有
header("Location: view.php");
<html>
<head>
<meta charset="UTF-8">
<?php
include "library2.php";
include "delete.php";
printHeader(); // prints the logo
?>
<title>
View
</title>
<link rel="stylesheet" type="text/css" media="screen" href="styles.css">
<nav>
<ul>
<li>
<a href="add.php">
Add
</a>
</li>
<li>
<a href="view.php">
View
</a>
</li>
</ul>
</nav>
</head>
<body>
<?php
$link = connectMysql();
$sql_query = "SELECT * from inventory;";
$result = runQuery($link, $sql_query);
if($_GET){
deleteRestoreItem($_GET['DeleteRestore']);
$page = $_SERVER['PHP_SELF'];
$sec = "0.001";
header("Refresh: $sec; url=$page");
}
?>
<div id ="view">
</br>
</br>
</br>
<table >
<th>
ID
</th>
<th>
Item Name
</th>
<th>
Description
</th>
<th>
Supplier Code
</th>
<th>
Cost
</th>
<th>
Selling Price
</th>
<th>
Number On Hand
</th>
<th>
Reorder Point
</th>
<th>
Back Order
</th>
<th>
Delete/Restore
</th>
<?php
while($row = mysqli_fetch_assoc($result))
{
?>
<tr>
<td>
<?php print $row['id']; ?>
</td>
<td>
<?php print $row['itemName']; ?>
</td>
<td>
<?php print $row['description']; ?>
</td>
<td>
<?php print $row['supplierCode']; ?>
</td>
<td>
<?php print $row['cost']; ?>
</td>
<td>
<?php print $row['price']; ?>
</td>
<td>
<?php print $row['onHand']; ?>
</td>
<td>
<?php print $row['reorderPoint']; ?>
</td>
<td>
<?php print $row['backOrder']; ?>
</td>
<td>
<?php
if($row['deleted']=="n")
{
?>
<a href="view.php?DeleteRestore=<?php echo $row['id'];?>">Delete</a>
<?php
}
if($row['deleted']=="y")
{
?>
<a href="view.php?DeleteRestore=<?php echo $row['id'];?>"></a><?php
}
?>
</td>
</tr>
<?php
}
?>
</table>
</br>
</div>
</body>
<footer>
<?php
printFooter()
?>
</footer>
</html>
最佳答案
你应该跑
$sql_query = "SELECT * from inventory;";
$result = runQuery($link, $sql_query);
之后
deleteRestoreItem($_GET['DeleteRestore']);
此时,您首先要求数据库获取内容,将其存储到 $result 中,然后更改数据库,然后在更改之前显示数据库状态的第一个结果。 (因此没有显示任何更改)。
更改此顺序,它应该可以工作。首先更改数据库,然后询问数据库内容并显示它。不再需要刷新
<小时/>结论:
<?php
$link = connectMysql();
$sql_query = "SELECT * from inventory;";
$result = runQuery($link, $sql_query);
if($_GET){
deleteRestoreItem($_GET['DeleteRestore']);
$page = $_SERVER['PHP_SELF'];
$sec = "0.001";
header("Refresh: $sec; url=$page");
}
?>
应该更像
<?php
$link = connectMysql();
if($_GET){
deleteRestoreItem($_GET['DeleteRestore']);
}
$sql_query = "SELECT * from inventory;";
$result = runQuery($link, $sql_query);
?>
关于php - 如何使用php重新加载页面,我不使用任何其他局域网。标题不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19391459/