显示用户配置文件页面PHP

时间:2016-03-11 15:46:28

标签: php mysql pdo user-profile

我目前正在制作社交网络。我正在使用以下代码显示所有注册用户。 有没有更好的方法呢?

<?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>';

3 个答案:

答案 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>';
}
?>

很抱歉,如果我误解了你的问题,希望这会有所帮助。