PHP MySQL最后30分钟在线检查用户,然后从另一个表中选择他们的缩略图

PHP MySQL最后30分钟在线检查用户,然后从另一个表中选择他们的缩略图,php,mysql,mysqli,inner-join,Php,Mysql,Mysqli,Inner Join,我有两张桌子“个人资料”和“照片”。我有一个代码,可以在用户浏览网站时自动将DATETIME更新为“Profiles>”online。然后,当用户看到所有在线用户时,我会查询数据库,以下是我试图实现的目标: *查询1-从“联机”时间少于30分钟的配置文件中选择所有用户。 *查询2选择“用户id”与查询1匹配且“配置文件”=1的所有用户的“拇指” 我想要的结果是返回过去30分钟内一直处于活动状态的所有用户,并将url返回到第二个表中的他们的缩略图照片 简介: | user_id | online

我有两张桌子“个人资料”和“照片”。我有一个代码,可以在用户浏览网站时自动将DATETIME更新为“Profiles>”online。然后,当用户看到所有在线用户时,我会查询数据库,以下是我试图实现的目标:

*查询1-从“联机”时间少于30分钟的配置文件中选择所有用户。 *查询2选择“用户id”与查询1匹配且“配置文件”=1的所有用户的“拇指”

我想要的结果是返回过去30分钟内一直处于活动状态的所有用户,并将url返回到第二个表中的他们的缩略图照片

简介:

| 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();
$date=new DateTime();
$date=日期(“Y-m-d H:i:s”);
$time=strottime($date);
$time=$time-(30*00);
$date=日期(“Y-m-d H:i:s”,$time);
如果($SQL=$DBcon->query(“
选择A.user\u id作为用户id,选择B.thumb作为用户id
从简介A
B.user\u id=A.user\u id和B.profile='1'上的内部连接照片B
其中A.online>=“$date”){
while($online=mysqli\u fetch\u数组($SQL)){
回声“;
}
$SQL->free();
}


我已经试了两天了,遇到了困难,非常感谢您的帮助。非常感谢

那么错误是什么呢?
$online['A.user\u id']
应该是
$online['user\u id']
。谢谢我更新了我的代码,并根据您的建议进行了测试。它返回过去30分钟内一直在线的所有用户,但不返回缩略图链接,并给出以下错误:“注意:未定义的索引:B.thumb in C:\xampp\htdocs\…on line 47”当然,它也应该是
$online['thumb']
,不带表前缀。两天-你没有读到错误消息?下次只要做
var\u dump($online)
看看你的数据是什么样子。啊,太棒了,它工作了。非常感谢您的帮助Paul:)那么有什么错误吗?
$online['A.user\u id']
应该是
$online['user\u id']
。谢谢我更新了我的代码,并根据您的建议对其进行了测试。它返回过去30分钟内一直在线的所有用户,但不返回缩略图链接,并给出以下错误:“注意:未定义的索引:B.thumb in C:\xampp\htdocs\…on line 47”当然,它也应该是
$online['thumb']
,不带表前缀。两天-你没有读到错误消息?下次只要做
var\u dump($online)
看看你的数据是什么样子。啊,太棒了,它工作了。非常感谢你的帮助保罗:)