动态php页面调用

时间:2013-09-09 17:52:51

标签: php html database

所以我查看了许多其他问题,但似乎都没有正确回答我的问题。

我目前有一个php脚本,它从数据库中读取行并运行循环以显示html div中每行的信息。

我现在面临的问题是,在之前加载的每张“卡片”信息中都有一张图片。当点击图片时,我需要加载不同的文件名列表。问题是,根据点击的图片,我想根据点击的列表加载不同的信息。我研究了使用会话,但由于我在一个循环中动态加载所有图片,我不知道如何区分它们。

这是我目前拥有的代码,用于加载数据库中的所有信息。

$query = "SELECT * FROM Listings ORDER BY OrderNumber";

                        if ($result = mysqli_query($con, $query))
                        {
                            while ($row = mysqli_fetch_row($result)) 
                            {
                            echo "<div class ='listing'>";
                            echo "<a href='listing.html'>";
                            echo "<img src=$row[2] alt='' width='60%' align='left' >";
                            echo "</a>";
                            echo "<span style = 'font-size: 25px;'>";
                            echo $row[4];
                            echo "</span>";
                            echo "<br>";
                            echo "<br>";
                            echo "MLS Number: #";
                            echo $row[1];
                            echo "<br>";
                            echo "<br>";
                            echo "<b>Open House Details: </b>";
                            echo $row[6];
                            echo "<br>";
                            echo "<br>";
                            echo $row[5];
                            echo "<br>";
                            echo "<br>";
                            echo "<a href='";
                            echo $row[9];
                            echo "' style='color: #8a0b0b; font-weight: bold; font-style: italic; font-size: 18px;' target='_blank'>Virtual Tour</a>";
                            echo "<div class='listingPrice'>";
                            echo "$ ";
                            echo $row[7];
                            echo "</div>";
                            echo "</div>";

                            }
                            mysqli_free_result($result);
                        }

我需要一些方法,当点击一个标签时,首先能够辨别出哪个图片被点击,然后可能会创建一个具有相应行的会话变量。

1 个答案:

答案 0 :(得分:1)

输出链接时,请在数据行中包含查询字符串值。像这样:

echo "<a href='listing.html?id=" . row[0] . "'>";

(我只是猜测row[0]部分,它将是唯一标识该记录的标识符。)这样,所有链接都将拥有listing.html页面上所需的数据直接嵌入其中。 (不应该是listing.php?)

因此,在被引用的页面上,该值将在查询字符串中可用。像这样:

$_GET["id"]

在这种情况下确实不需要会话状态,如果你需要知道的是单击了哪条记录,那么该信息可以直接放在链接中。这减少了代码中的耦合,使链接更加RESTful,甚至让人们可以直接为链接添加书签。