我正处于类图的阶段,我正在为我计划创建的网站创建类图。直到我想要一个显示在线用户的网页,比如显示他们的用户名和所有在线用户的个人资料图片,这一切都是很好的。我不知道我会怎么做,我的形象是我到目前为止。如果有任何帮助或指导,我将不胜感激。
下面是我当前的类图http://imgur.com/sgjJwkc
发布于 2013-12-02 23:53:21
您还可以为用户的状态(登录、注销)设置一个列,并使其在0(注销)和1(登录)之间切换。您可以使用AJAX调用每5秒更新一次此信息(当然是在后台)。就像这样:
//JAVASCRIPT
<script>
$(document).ready(function() {
setInterval(function() {
$.post('Path To PHP File', {x : Pass Variables, y: If You Want}, function(res)
//Do something with the result (res)
);
}, 5000);
});
</script>
//PHP FILE
<?php
//If you passed any variables to the script:
$x = $_POST['x'];
$y = $_POST['y'];
//Connect to your database
$dbConn = "I hope you're using PDO for this.";
//Create your query
$sql = "SELECT * FROM users WHERE status=1";
$res = $dbConn->prepare($sql);
$res->execute();
//Return/echo results
foreach($res as $x) {
echo "<div id='useTheIdToStyleTheResults'>".$x['name']."</div>";
}
?>
res是您的php脚本返回的任何内容。您可以简单地在该脚本中的数据库上运行一个SQL查询,以获取所有登录的用户,并使用foreach()循环将每个项作为html div元素返回。按照你的喜好来设计这些元素,然后你就可以了。如果你有问题,就问吧!
编辑:
在阅读了更多您的问题之后,SQL和UNION是您可能需要研究的两个概念。join.asp
编辑2:
//Define Variables
$hostname = '127.0.0.1';
$username = 'userName';
$password = 'passWord';
$dbname = 'database in use';
//Create Connection
try {
$con = new PDO("mysql:host=$hostname;dbname=$dbname",$username,$password);
$con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//echo "Connected to database"; //Uncomment statement to the left to check for connection
} catch (PDOException $e) {
print "Unable to connect: " . $e->getMessage();
mysql_close($con);
die();
}
?>
发布于 2013-12-02 23:12:27
每次用户加载页面时,我都会更新用户行中的时间戳,在加载在线用户时,我会检查最近的时间戳。
伪码:从last_active >= time()-900的用户中选择用户名、化身;
https://stackoverflow.com/questions/20339707
复制相似问题