打开另一个页面并在php中发送数据


Open another page and send data in php?

我正在为我的最后一个项目开发一个简单的在线投资组合网站。我有一个页面来显示数据库中存储的所有设计。这是一个项目的模板,

+---------------------+
+                     +
+                     +
+       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())