我试图返回&显示来自数据库的所有用户个人资料图像,但仅显示该特定个人资料中的人的朋友。 DB的结构如下:
friend_array由,分开 我有以下访问和显示:
<?php
global $con;
$username = $_GET['profile_username'];
$query = mysqli_query($con,"SELECT * FROM users WHERE profile_pic = '$username'");
while ($row = mysqli_fetch_array($query)) {
$friends = $row['profile_pic'];
?>
<div><img src="<?php echo $friends; ?>"></div>
<?php } ?>
我确定它是查询,但是如何更好地进行此查询的任何帮助都会很棒。
三江源。
答案 0 :(得分:1)
你需要这样的东西:
$query = mysqli_query($con,"SELECT * FROM users WHERE friend_array LIKE '$username,%' OR friend_array LIKE '%,$username,%' OR friend_array LIKE '%,$username'");
您正在寻找成为$username
朋友的人,因此您需要与friend_array进行核对。我使用了LIKE因为它使我们更容易搜索逗号分隔的字段(直的=
不适用于部分匹配)。我们必须检查3种不同的匹配方式,因为用户名可能是第一个用户名,可能位于列表中间,也可能是最后一个,三者中的每一个都有不同的格式。