将PHP变量从一个页面传递到另一个页面以从按钮获得正确的项



我有2个页面,content.php&pagcontent .php,在content.php中,我将数据库中的产品信息显示到表标记中,其中有一个2行3列的网格,我将产品的描述回显到其中。其中一个网格行包含一个带有缩略图的按钮,以便将用户链接或发送到pagcontent .php以获取特定的产品信息页面。在pagcontent .php中,用户将能够将产品添加到购物车/愿望列表中(现在还没有,未来的东西)。

Ok到目前为止,在content.php我已经能够显示所有产品从数据库,从查询和while循环,工作,我能够改变的东西在数据库和变化将发生在content.php。我没有成功地将变量或id与$_GET传递,我相信这就是我想要在这种情况下使用的。也不要认为我的ajax是正确的,或者它缺少的东西。我试图弄清楚按钮如何从数据库中获取产品PartsID(1,2,3等),PartsID是列名,稍后在单击时调用,然后将其传递给pagcontent .php以从按钮中获取正确的产品信息。如果有比我使用的方法更好的方法,请告诉我。

content.php

<?php
$stmt = $pdo->query("SELECT * FROM Parts");    
while ($product = $stmt->fetch(PDO::FETCH_ASSOC)) {
?> 
<td>
<?php
echo '<button type="button" class="testButton" onclick="test()">
<img src="images/APA802AC.jpg">
</button>';          
?>
</td>
<td class="td-manufacturer">
<h6>MANUFACTURER</h6>
<p>
<?php
echo $product["Manufacturer"];
?>
</p>
</td>
<script type="text/javascript">
function test(itemid) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200)
{
window.location.assign("pageContent.php").innerHTML = xhr.responseText;
}
}
xhr.open("GET", "pageContent.php?id=" + itemid, true);
xhr.send();
}
</script>

pagecontent.php

这个页面也有表格,但没有网格。我需要得到上一页按钮单击PartsID(1,2,3,等等…)在这里,并显示产品信息,我回显$row。

<div class="productInfo">
<h2 class="productTitle">
<?php
echo $row["PartTitle"];
?>
</h2>
</div>
<td>
<?php
echo $row["Availability"];
?>
</td>
<td>
<?php
echo $row["Price"]
?>
</td>

我真的希望能得到一些详细的帮助。我已经尝试了各种不同的代码和研究,随着时间的推移,我有了新的php和javascript/ajax,所以请原谅我。我希望我说得很清楚。谢谢!

首先,你的行

window.location.assign("pageContent.php").innerHTML = xhr.responseText;

没有做你认为它在做的事情。"location.assign"加载不同的页面。还没有尝试自己看看是否会通过错误控制台的innerHTML去引用,但你应该检查你的浏览器中的网络选项卡,最有可能你会看到2调用pageContent:一个参数(你的ajax调用)和第二个没有(你的位置。分配调用)。

其次,如果你有一个多页面的php应用程序,你可能不需要ajax,因为页面内容是在服务器端生成的,之后它就变成了静态的。Ajax更适合具有动态内容的单页应用程序。

不要过多地更改应用程序代码,请尝试删除ajax调用并仅使用窗口位置:

<script type="text/javascript">
function test(itemid) {
window.location.assign(_your_base_url_ + "pageContent.php?id=" + itemid)
}
</script>

我相信这将允许您在$_GET查询中看到服务器端的参数。

注:我最近没有做php,所以上面的答案或多或少是一个概念。您可能需要查看php文档以了解如何访问这些参数。阅读一些关于这个主题的教程并不是一个坏主意,因为看起来你在理解用php做web应用程序的整体概念方面确实有一些差距。

最新更新