我目前正在制作社交网络。我正在使用以下代码显示所有注册用户。 有没有更好的方法呢?
<?php
$query = $db->query("SELECT * from members");
while($r = $query->fetch()) {
echo '<div class="col-sm-6 col-md-6 col-lg-3 membersGrid">';
echo '<div class="profileThumb">';
echo '<img width="130" height="130" src="'.$r['profile_pic'].'"/><br>';
echo $r['username'], '<br>';
echo $r['country'], '<br>';
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
echo '</div>';
echo '</div>';
}
?>
我正在尝试为每个用户创建指向各个个人资料页面的链接。目前,每个链接都在上面的while循环中,但是,我对如何链接到相关的配置文件页面有点不确定。我猜我必须在URL中附加一个变量。任何指导都将不胜感激。
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
答案 0 :(得分:2)
这取决于您的profile.php页面如何处理确定您正在展示的人的个人资料的GET变量。我们假设变量名为id
并且您的成员表中有一行也称为id
(作为唯一键),然后您的锚标记看起来像:
echo '<a class="viewProfile" href="profile.php?id=' . $r['id']. '"><button>View Profile</button></a>';
答案 1 :(得分:1)
首先在查询时从数据库中检索用户的 user_id 。然后将此ID作为以下内容提供给配置文件链接:
echo '<a href="profile.php?userid=' . $user_id . '>Linkname</a>';
然后在 profile.php 中通过以下方式获取此变量:
$id = $_GET['userid'];
这样您就可以在profile.php中显示相关用户的个人资料。
希望你能有这个想法继续努力。
答案 2 :(得分:0)
如果您要生成指向用户个人资料的链接列表,则有几个不同的选项:
您可以将$_GET
变量附加到链接的末尾,如Lloyd先前所述
echo '<a href="profile.php?if=' . $r['id'] . '">';
或者您可以发送$_POST
变量;最简单的方法是创建表单列表:
<?php
$query = $db->query("SELECT * from members");
while($r = $query->fetch()) {
echo '<div class="col-sm-6 col-md-6 col-lg-3 membersGrid">';
echo '<div class="profileThumb">';
echo '<img width="130" height="130" src="'.$r['profile_pic'].'"/><br>';
echo $r['username'], '<br>';
echo $r['country'], '<br>';
echo '<form action="profile.php" method="post">';
echo '<input type="hidden" value="' . $r['id'] . '" />';
echo '<input type="submit" value="View Profile" />';
echo '</form>';
echo '</div>';
echo '</div>';
}
?>
很抱歉,如果我误解了你的问题,希望这会有所帮助。