我有这个index.php页面,它显示了我在数据库中的所有产品。
目前,index.php上的产品正在通过while循环显示:
<?php
// Getting data fra DB and fetching the $result as an array
$product_id = -1; // Counter
$result = mysqli_query($conn, "SELECT * FROM Products;");
while($row = mysqli_fetch_array($result)) {
$altname = strtr($row[Product_Name], '-', ' ');
$altcolor = strtr($row[Product_Color], '-', ' ');
$altcat = strtr($row[Product_Category], '-', ' ');
$_SESSION['product_id'] = $row['Product_Id']++;
?>
<?php
$excerpt = $row['Product_Desc'];
$maxLength = 150;
if (strlen($excerpt) > $maxLength) {
$stringCut = substr($excerpt, 0, $maxLength);
$excerpt = substr($stringCut, 0, strrpos($stringCut, ' '));
}
echo "<div class='col-md-4 col-xs-6 hero-feature productview'>";
echo "<div class='thumbnail'>";
echo "<img class='img-responsive' src=\"image/$row[Product_Img]\" alt=\"$altname $altcolor $altcat\" >";
echo "<div class='caption'>";
echo "<h3>" . $row['Product_Name'] . "</h3>";
echo "<p>" . $excerpt . "..." . "</p>";
echo "<p><a href='#' class='btn btn-primary'>Køb nu!</a>";
echo "<a href='product.php?id=$_SESSION[product_id]' class='btn btn-default'>Se produktet</a></p>";
echo "</div></div></div>";
} ?>
在循环中我们添加了一个href,它应链接到Product.php页面,该页面包含有关从DB检索到的唯一Product_Id的更多信息。
主要问题是,在while循环中,$ _SESSION [&#39; product_id&#39;]正确循环,但是当我尝试在循环之外的var_dump时它只占用会话数组中的最后一项(这是在product.php页面上发生的事情)。
如何在一个href中获取会话数组,以便在每个唯一的产品页面上循环正确。