所以我查看了许多其他问题,但似乎都没有正确回答我的问题。
我目前有一个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);
}
我需要一些方法,当点击一个标签时,首先能够辨别出哪个图片被点击,然后可能会创建一个具有相应行的会话变量。
答案 0 :(得分:1)
输出链接时,请在数据行中包含查询字符串值。像这样:
echo "<a href='listing.html?id=" . row[0] . "'>";
(我只是猜测row[0]
部分,它将是唯一标识该记录的标识符。)这样,所有链接都将拥有listing.html
页面上所需的数据直接嵌入其中。 (不应该是listing.php
?)
因此,在被引用的页面上,该值将在查询字符串中可用。像这样:
$_GET["id"]
在这种情况下确实不需要会话状态,如果你需要知道的是单击了哪条记录,那么该信息可以直接放在链接中。这减少了代码中的耦合,使链接更加RESTful,甚至让人们可以直接为链接添加书签。