我列出了包含所有用户的列表,当您点击其名称时,它应显示用户个人资料。但是我的查询只是看到了我的个人资料。无论我在列表中选择哪个用户。
所以列表在我的admin.php文件中,因为只有管理员才能看到用户列表。
<ul>
<?php
include_once('connect.php');
$pdostatement = $conn->prepare(
'SELECT
f_name
FROM
tbl_user
WHERE
id = :user_id' );
$pdostatement->execute(array(
'user_id' => $_SESSION["user_id"]
));
$list = $pdostatement->fetchAll();
$value_fname = $list;
foreach($value_fname as $row) {
echo '<li value="'.$row['f_name'].'"><a href="index.php?page=profile" >'.$row['f_name'].'</a></li>';
}
?>
</ul>
$ _ SESSION [&#39; user_id&#39;]在我的登录文件中声明
if ($result[0]["password"] !== md5($_POST['password'].'D6tp'.$_POST['email'])) {
header('Location: /Home/index.php?page=login');
} else {
$_SESSION['loged_in'] = true;
$_SESSION['user_id'] = $result[0]["id"];
header('Location: /Home');
};
这是我数据库的一部分
id int(11) AUTO_INCREMENT
state varchar(255)
f_name varchar(255)
我感谢你的每一次帮助!
答案 0 :(得分:0)
下面的代码包含仅选择当前用户的位置。
$pdostatement = $conn->prepare(
'SELECT
f_name
FROM
tbl_user
WHERE
id = :user_id' );
$pdostatement->execute(array(
'user_id' => $_SESSION["user_id"]
));
要选择所有用户,请更改此类代码
$pdostatement = $conn->prepare(
'SELECT
f_name
FROM
tbl_user
WHERE 1' );
$pdostatement->execute();
答案 1 :(得分:0)
在您的数据库中,每个用户都有一个唯一的ID。
这样做,
table1 -> id int, state varchar, f_name varchar
table2 -> id int, f_name, friend
然后
select * from table2 where f_name = :user_id