我正在从我的数据库中检索产品并在while循环中列出它们。喜欢这个
<?php
while($row = mysql_fetch_row($result)){
echo '<div class="product_info">';
echo '<div class="category_product_title"><a href="category-page.php">Product</a>';
echo '</div>';
echo '<div class="category_product_number">#'.$row[0].'('.$row[1].')'.'</div>';//prints id and name
echo '<div class="category_product_description">'.$row[2].'</div>';//prints description
echo '<div class="category_product_price">'.$row[4].'TL</div>';//prints price
echo '<div class="category_details"><a href="productpage2.php">DETAILS</a></div>';//The link to list the product details
echo '</div>';
echo '</div>';
}
?>
我想通过获取该特定产品的ID或名称并使用查询数据库来点击“DETAILS”链接时,能够在特定产品上打印更多细节。
我尝试将id保存在会话变量中,例如$_SESSION['id'] = $row[0]
,但由于我正在循环使用这些产品,因此在点击时无法获取特定产品的ID。我怎样才能做到这一点?。我因为循环而感到困惑。感谢
答案 0 :(得分:2)
您可以使用GET
变量为每个产品指定不同的链接
链接可以指向<a href="productpage2.php">DETAILS</a>
。
<a href="productpage2.php?id='.$row[0].'">DETAILS</a>
然后,在产品页面productpage2.php
上,您可以从$_GET
超全局数组中获取所选的ID,如下所示:
$id = $_GET['id'];
答案 1 :(得分:0)
有很多方法可以做到这一点。我可能会做类似的事情:
echo '<div class="product_info" data-product-number="' . $row[0] . '">';
然后使用JavaScript获取data-product-number
属性并将其与请求一起传递。显然,一旦发出请求,您需要以某种方式在服务器端验证这一点,因为用户可以将请求中的产品编号设置为他们想要的任何内容。