显示用户个人资料页面 PHP
Displaying a user profile page PHP
我目前正在创建一个社交网络。我正在使用以下代码显示所有注册用户。
有更好的方法吗?
<?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>';
}
?>
我正在尝试为每个用户创建一个 link 个人资料页面。目前每个 link 都在上面的 while 循环中,但是,我有点不确定如何 link 到相关的个人资料页面。我猜我必须将一个变量附加到 URL。任何指导将不胜感激。
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
这取决于您的 profile.php 页面如何处理 GET 变量,该变量决定了您所显示的人的个人资料。假设该变量称为 id
并且您在 members table 中有一行也称为 id
(充当唯一键),那么您的锚标记将如下所示:
echo '<a class="viewProfile" href="profile.php?id=' . $r['id']. '"><button>View Profile</button></a>';
如果您要为用户配置文件生成 link 的列表,那么有几个不同的选项:
您可以将 $_GET
变量附加到 link 的末尾,正如 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>';
}
?>
抱歉,如果我误读了您的问题,希望这对您有所帮助。
首先从数据库中检索用户的 user_id,就像您在查询时所做的那样。然后将此 id 提供给配置文件 link as:
echo '<a href="profile.php?userid=' . $user_id . '>Linkname</a>';
然后在profile.php中通过:
得到这个变量
$id = $_GET['userid'];
这样您就可以在 profile.php 中显示相关用户的个人资料。
希望你能得到这个想法。
我目前正在创建一个社交网络。我正在使用以下代码显示所有注册用户。 有更好的方法吗?
<?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>';
}
?>
我正在尝试为每个用户创建一个 link 个人资料页面。目前每个 link 都在上面的 while 循环中,但是,我有点不确定如何 link 到相关的个人资料页面。我猜我必须将一个变量附加到 URL。任何指导将不胜感激。
echo '<a class="viewProfile" href="profile.php"><button>View Profile</button></a>';
这取决于您的 profile.php 页面如何处理 GET 变量,该变量决定了您所显示的人的个人资料。假设该变量称为 id
并且您在 members table 中有一行也称为 id
(充当唯一键),那么您的锚标记将如下所示:
echo '<a class="viewProfile" href="profile.php?id=' . $r['id']. '"><button>View Profile</button></a>';
如果您要为用户配置文件生成 link 的列表,那么有几个不同的选项:
您可以将 $_GET
变量附加到 link 的末尾,正如 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>';
}
?>
抱歉,如果我误读了您的问题,希望这对您有所帮助。
首先从数据库中检索用户的 user_id,就像您在查询时所做的那样。然后将此 id 提供给配置文件 link as:
echo '<a href="profile.php?userid=' . $user_id . '>Linkname</a>';
然后在profile.php中通过:
$id = $_GET['userid'];
这样您就可以在 profile.php 中显示相关用户的个人资料。
希望你能得到这个想法。