我有两张桌子'个人资料'和'照片'。我有一个代码可以自动将DATETIME更新为'个人资料>当用户在网站上浏览时,“在线”。然后,当用户去看每个在线的人我查询数据库时,这就是我想要实现的目标:
* QUERY1 - 从“个人资料”中选择“在线”不到30分钟的所有用户。 * QUERY2选择所有用户'thumb',其中'user_id'与QUERY1匹配,'profile'= 1
我想要的结果是返回过去30分钟内一直处于活动状态的所有用户,并将网址返回到第二张表格中的缩略图照片。
配置文件:
| user_id | online | user_ip |
+---------+----------+---------+
| INT | DATETIME | INT(10) |
+---------+----------+---------+
照片:
| id | user_id | image | thumb | profile |
+---------+---------+--------------+--------------+-----------------+
| INT | INT | VARCHAR(200) | VARCHAR(200) | ENUM('0', '1') |
+---------+---------+--------------+--------------+-----------------+
当前代码:
$date = new DateTime();
$date = date("Y-m-d H:i:s");
$time = strtotime($date);
$time = $time - (30 * 00);
$date = date("Y-m-d H:i:s", $time);
if ($SQL = $DBcon->query("
SELECT A.user_id as a_user_id, B.thumb as b_thumb
FROM profiles A
INNER JOIN photos B ON B.user_id = A.user_id AND B.profile='1'
WHERE A.online >= '$date'")) {
while ($online = mysqli_fetch_array($SQL)) {
echo "<a href='profile.php?profile=" . $online['a_user_id'] . "' target='_blank'><img src='" . $online['b_thumb'] . "'></a>";
}
$SQL->free();
}
我现在已经尝试了两天而且已经打了一堵砖墙,非常感谢任何帮助。提前谢谢了。