点击链接,在另一个页面中显示产品


Get clicked link, display product in another page

我在phpwhile循环中从mysql填充产品目录。。我正试图让它,当我点击一个产品时,产品信息会显示在另一个页面上。到目前为止,我试图使用会话,但无论点击哪一个,它都会发送最后一个产品。我需要帮助!!

目录。

while($row = mysqli_fetch_array($sql)){
$data = $row['image'];
$file = substr($data, strpos($data, "/") + 1);
echo "<a href='products.php'>",
"<div class='productdiv'>",
"<div class='productimage'>",
"<img class='resizedimage' src='$file' alt='{$row['name']} Image' />",
"</div>",
"<div class='productname'>{$row['name']}</div>",
"<div class='brand'>Brand -> {$row['brand']}</div>",
"<div class='brand'>Code ->{$row['code']}</div>",
"<div class='productprice'>&pound{$row['price']}</div>",
"</div>",
"</a>";
$_SESSION['name']=$row['name'];
$_SESSION['brand']=$row['brand'];
$_SESSION['code']=$row['code'];
$_SESSION['image']=$file;
}

这就是我想在的另一页上显示它的地方

echo "<div class='productcontainer'>",
"<div class='productpageimage'>",
"<img src='{$_SESSION['image']}' alt='{$_SESSION['name']}' />",
"</div>",
"<div class='productpagename'>",
$_SESSION['name'],
"</div>",
"<div class='productpagebrand'>",
$_SESSION['brand'],
"</div>",
"<div class='productpagecode'>",
$_SESSION['code'],
"</div>",
"</div>";
?>

有人能帮忙吗?

每次迭代数组时都要设置$_SESSION值,所以它只会"保留"最终迭代的值。如果要以这种方式设置会话值,则需要为产品记录传递一个标识符,然后再设置$_SESSION值(即在products.php页面上)。有很多不同的方法可以做到这一点——你可以将信息编码到你创建的链接中:

echo "<a href='products.php?name=" . $row['name'] . "&brand=" . $row['brand'] . "&code=" . $row['code'] . "&'>"

然后使用products.php页面上$_GET的值设置$_SESSION:

$_SESSION['name'] = $_GET['name'];
// ... etc.

或者,更常见的是,只传递标识符(您有产品ID吗?),然后在products.php上执行另一个sql查找。