想知道是否有人可以帮助我。我在我的网站上有一个功能,用户可以链接朋友,如果他们转到其他用户个人资料并选择“是我的朋友链接”,那么它将添加该用户ID并将其与添加了朋友ID的用户相匹配。被加入为朋友的人。
现在我正在尝试回应用户在其页面上的朋友,此时我正在使用的功能正在向用户朋友回应所有其他用户个人资料。
但是我希望每个用户朋友都能单独显示,所以如果用户1在用户1的页面上添加用户3 4和5作为他的朋友,它将向用户3 4和5显示。
如果用户2添加朋友8 9和10,那么用户8 9和10将显示在用户2页面中。
有人能告诉我我哪里出错了。
感谢。
功能代码:
function get_friends() {
global $connection;
global $_SESSION;
$query = "SELECT e.friend_id, p.display_name
FROM ptb_friends e, ptb_profiles p
WHERE e.user_id = p.user_id
LIMIT 3";
$friend_set = mysql_query($query, $connection);
confirm_query($friend_set);
return $friend_set;
}
我的回声代码:
<?php
$friend_set = get_friends();
while ($friend = mysql_fetch_array($friends_set)) {
echo "<a href=\"profile.php?id={$friend['friend_id']}\"><img width=\"60px\" height=\"60px\" class=\"friend_pic\" src=\"data/photos/{$friend['friend_id']}/_default.jpg\" /></a>";
?>
<?
}
?>
答案 0 :(得分:0)
在您的查询中,您应该使用ORDER-BY函数
select e1."Event_Name", v2."Venue", e1."Ticket_price"
from "events" e1, "venues" v2
where (e1."VenueNo" = v2."VenueNo")
order by e1."Ticket_price" asc
// asc for ascending desc for descending
在你的情况下
$query = "SELECT e.friend_id, p.display_name
FROM ptb_friends e, ptb_profiles p
WHERE e.user_id = p.user_id
ORDER BY e.user_id
LIMIT 3";
答案 1 :(得分:0)
为什么不创建一个像“添加frinds”的表?
答案 2 :(得分:0)
要在查询中连接两个表,请使用Mysql-JOIN-Functions
答案 3 :(得分:0)
您将当前个人资料用户ID传递到此页面。然后在你的sql上应用像这种格式的where子句,其中p.user_id = current_profile_user_id。所以你只能获得这个用户配置文件的朋友。(所以必须有一个表来满足这个查询的格式)。
user_id friends_id -------- ---------- 2 3
4 5
2 1
此处2号用户个人资料ID包含这些ID的朋友(3,1)。