我有一个查询,通过加入朋友和用户表的检索结果来检索用户拥有的每个朋友的姓名。我有另一个存储活动用户的表格。我需要找回那些活跃而不活跃的朋友,但由于某种原因,我正在画空白。如果我有一个所有朋友的列表和一个活跃的朋友列表,我可以减去所有离开的离线活动吗?我想要做的基本上都有两个选项卡。下一个会脱机的朋友。其他将在网上的朋友。如果有人有任何有用的建议,我将不胜感激。删除出现在另一个查询中的1个查询的结果
$sql = 'SELECT * FROM users
LEFT JOIN friendships
ON friendships.friend_id = users.id
WHERE friendships.user_id = ?';
$stmt5 = $conn->prepare($sql);
$result=$stmt5->execute(array($userid));
$count=$stmt5->rowCount();
//user has more than 0 friends
if ($count>0){
while ($row = $stmt5->fetch(PDO::FETCH_ASSOC)) {
$online=htmlspecialchars($row['username'], ENT_NOQUOTES, 'UTF-8');
//check whos online
$sql = 'SELECT * FROM active_users
WHERE username=?';
$stmt7 = $conn->prepare($sql);
$result=$stmt7->execute(array($online));
$count=$stmt7->rowCount();
while ($row = $stmt7->fetch(PDO::FETCH_ASSOC)) {
$activeuser=$row['username'];
}
}
该代码只是检索活动用户,但希望给出一个结构的想法。
同意。没有理由在这里做两个单独的查询。 – 2010-11-04 04:57:17
我甚至不知道有这样的事情,谢谢你们 – Scarface 2010-11-04 18:34:37