0

我有这个 while 循环来回显 SQL 数据库中的条目。我有一个“添加到购物车”按钮,它应该从列表中删除条目并将其添加到其他地方。这部分有效,但是一旦我单击“添加到购物车”按钮,该条目不会立即删除,我必须手动刷新页面或访问另一个页面并返回才能看到该项目已被删除。我尝试在按钮的 onclick 属性上使用以下(以及一些类似的)行,但它不起作用。

echo "<br /><center><input type='submit' name='submitAdd' value='Add to Cart' onclick='window.location.reload();'></center>";

任何建议表示赞赏。

谢谢你。

编辑:这是我用来生成表的 while 循环。它在一个标签内,该标签位于 .

while ($row = mysql_fetch_array($song_query)) {
    foreach ($_SESSION['selected_items'] as $key => $value) {
        if ($value == $row['Item_ID']) {
            $rowID = $row['Item_ID'];
            echo "<tr style='background-color: #66FFFF;'>";
            echo "<td><input type='checkbox' name='removeFromCart[]' value='$rowID'></td>";
            echo "<td>" . $row['Item_ID'] . "</td>";
            echo "<td>" . $row['Name'] . "</td>";
            echo "<td>" . $row['Artist'] . "</td>";
            echo "<td>" . $row['Album'] . "</td>";
            echo "<td>" . $row['Time'] . "</td>";
            echo "<td>" . $row['Year'] . "</td>";
            echo "<td>" . $row['Bit_Rate'] . "</td>";
            echo "<td>" . $row['Sample_Rate'] . "</td>";                
            echo "</tr>";
        }
    }
}
4

5 回答 5

7

PHP 是一种服务器端语言,因此在将结果显示给用户之前,任何“操作”都将在服务器上执行。为了在页面加载到用户浏览器后对其进行修改,您必须使用客户端语言,例如 JavaScript。如果您想在不重新加载页面的情况下显示购物车的更新,那么使用 AJAX 请求是您的最佳选择。查看http://www.w3schools.com/ajax/上的教程,如果您对如何实施有任何疑问,请告诉我 :)

更新:强制重新加载
如果您只想按原样重新加载页面,请尝试onclick='window.location.reload(true);'使用onclick='window.location.reload();'. 该true参数强制向服务器发出 get 请求。http://www.w3schools.com/jsref/met_loc_reload.asp

于 2013-04-11T00:09:27.017 回答
2

我使用引用同一页面的链接

<a href="<?php $_SERVER['PHP_SELF']; ?>">Recargar</a>
于 2018-11-23T15:13:56.890 回答
0

如果您要寻找的唯一功能是在单击按钮时重新加载页面,我通常这样做的方式是 onclick="history.go(0)"

但是,如果表单按钮是提交表单并且已经重新加载页面,那么我不明白为什么你不能在你的其他代码之后放置 while 循环,

检查表格(){更新SQL数据库}

WHILE () { 输出数据库数据 }

于 2013-04-11T00:04:25.423 回答
0

不是一个按钮,而是一个简单的链接,但可能对某些人仍然有用:

<?php 
$page = $_SERVER['PHP_SELF'];
print "<a href=\"$page\">Reload this page</a>";
?>
于 2019-08-15T16:12:39.023 回答
0

使用 header() 函数在 PHP 中刷新网页。PHP header() 函数以原始形式向客户端或浏览器发送 HTTP 标头。

在 HTML、XML、JSON 或其他输出被发送到浏览器或客户端之前,原始数据与服务器发出的请求(尤其是 HTTP 请求)一起作为标头信息发送。

语法:header(“页眉:页面的url”)

我希望这可以使您走上正确的道路。

于 2021-07-08T11:08:14.210 回答