我正在为我的最后一个项目开发一个简单的在线投资组合网站。我有一个页面来显示数据库中存储的所有设计。这是一个项目的模板,
+---------------------+
+ +
+ +
+ image +
+ +
+ +
+ +
+---------------------+
+ Title +
+ +
+---------------------+
这是我用来从数据库加载所有项目的代码。
<?php
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$title = $row['title'];
$image = $row['image'];
$designer = $row['designer'];
$views = $row['views'];
$likes = $row['likes'];
$price = $row['price'];
?>
<div class = "col-md-3 col-sm-6"> <div class = "wow fadeInUp animated portfolio-item" data-wow-duration = "500ms" data-wow-delay = "600ms">
<div class = "img-wrapper">
<img src = "<?php echo $image; ?>" class = "img-responsive" alt = "" ></div>
<div class = "portfolio-item-text"><h4><a href = "preview.php?title">
<?php echo $title; ?>
</a>
</h4>
<p id = "portfolio-subtitle">
by <?php echo $designer; ?>
</p>
<div class="row" style="margin-top:10px;">
<div class="col-md-3" style="float:left;">
<h6><?php echo $price; ?></h6>
</div>
<div class="col-md-7" style="float:right;">
<div class="portfolio-icons">
<ul class="list-inline">
<li><i class="fa fa-eye"></i> <?php echo $views; ?></li>
<li><i class="fa fa-thumbs-o-up"></i> <?php echo $likes ?></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
}
?>
我需要打开另一个页面来预览每个设计。因此,我使用$_SESSION将数据带到while循环中的预览页面。
$_SESSION['id'] = $row['design_id'];
$_SESSION['title'] = $row['title'];
但它只预览最后一项。我该怎么解决这个问题。
您需要更改链接
<a href="preview.php?title"><?php echo $title; ?> </a>
类似的东西:
<a href="preview.php?id=<?= $row['design_id'] ?>"><?php echo $title; ?></a>
然后,您可以在preview.php文件中获取带有$_GET['id']
的id。但在使用之前,不要忘记检查它是否是一个数字。(is_numeric()或int_val())