在我的网站中,用户可以创建池(组)。显然,当他们创建池时,池信息(池名称等)将被发送到我的数据库。然后在用户的配置文件中,我从数据库中检索它们所在的所有池并在页面上显示它们。
但是,目前,这些只显示为文字。我希望它们被超链接到一个单独的页面,该页面是池的配置文件。任何人都可以帮我这样做吗?我的代码如下。
<?php
session_start();
$conn = mysqli_connect("localhost","root","root","UltimateLeague");
$query = ("SELECT * FROM userpool WHERE userid=".$_SESSION['user_id']."");
$result = mysqli_query($conn, $query); //Finding the pools that the current user is in
$poolid = array(); //Creating an array of these pools
while ($row = mysqli_fetch_assoc($result)) {
$pool_id[] = $row['pool_id'];
}
$ids = join(',',$pool_id); //Finding the names of these pools in a separate table
$query2 = "SELECT * FROM pools WHERE pool_id IN ($ids)";
$result2 = mysqli_query($conn, $query2);
$pool_name = array(); //Creating an array of these names
if (mysqli_num_rows($result2) > 0) {
while ($row2 = mysqli_fetch_assoc($result2)) {
$pool_name[] = $row2['pool_name'];
}
}
?>
然后,显示池:
<html>
<p><h5>Below is a list of pools that you are currently in.</h5></p>
<ul>
<?php foreach( $pool_name as $pool): ?>
<ul>
<?= $pool ?>
</ul>
<?php endforeach; ?>
</ul>
</html>
所以在这个循环中,我如何将每个$ pool链接到一个单独的页面?
提前致谢。
答案 0 :(得分:0)
将池ID放在链接的URL中。
<ul>
<?php while ($row2 = mysql_fetch_assoc($result2): ?>
<li>
<a href="show_pool.php?id=<?= $row2['pool_id'] ?>"><?= $row2['pool_name'] ?></a>
</li>
<?php endwhile; ?>
</ul>
您应该将两个查询合并为一个JOIN:
SELECT p.pool_id, p.pool_name
FROM userpool AS u
JOIN pools AS p ON u.pool_id = p.pool_id
WHERE u.userid = {$_SESSION['user_id']}