我正在尝试让它在您可以看到朋友最新活动的地方,但一次只能显示 5 个。在这 5 个人中,如果你拥有的时间比任何其他朋友都多,那么你可以不止一次拥有一个人。就像它会说“朋友升级技能名称日期”,然后显示五个最近的。我的代码是这样的:
function recentActivityF($user){
include "mysql.ws";
$query = mysql_query("SELECT u.* FROM friends uf inner join users u on uf.friend = u.username WHERE uf.user = '$user' ORDER BY u.username") or die(mysql_error());
while($row = mysql_fetch_array($query)){
$friends = $row['username'];
//$query2 = mysql_query("SELECT * FROM recentactivity WHERE user LIKE '".$friends."' ORDER BY time DESC LIMIT 1") or die(mysql_error());
$query2 = mysql_query("SELECT u.* FROM recentactivity uf inner join friends u on uf.user = u.friend WHERE uf.user LIKE '".$friends."' ORDER BY uf.time DESC LIMIT 1") or die(mysql_error());
$query3 = mysql_query("SELECT * FROM skills WHERE playerName LIKE '".$friends."' LIMIT 1") or die(mysql_error());
while($row3 = mysql_fetch_array($query3)){
while($row2 = mysql_fetch_array($query2)){
$date = $row2['time'];
$skillRow = $row2['skill']+1;
$skill = findType($skillRow)."xp";
$skillName = findType($skillRow);
echo'Friend: '.$friends.' Levelled Up '.$skillName.' Date: '.$date.'';
}
}
}
}
结果应该是:
1.)Friend: mark Levelled Up Attack date: 28-Aug-2012 09:48
2.)Friend: matt Levelled Up Strength date: 28-Aug-2012 09:47
3.)Friend: kevin Levelled Up Attack date: 28-Aug-2012 09:46
4.)Friend: mark Levelled Up Strength date: 28-Aug-2012 09:45
5.)Friend: april Levelled Up Magic date: 28-Aug-2012 09:44
我的结果是:
1.)Friend: mark Levelled Up Attack date: 28-Aug-2012 09:48
2.)Friend: mark Levelled Up Strength date: 28-Aug-2012 09:45
3.)Friend: matt Levelled Up Strength date: 28-Aug-2012 09:47
4.)Friend: kevin Levelled Up Attack date: 28-Aug-2012 09:46
5.)Friend: april Levelled Up Magic date: 28-Aug-2012 09:44
6.)Friend: april Levelled Up Strength date: 28-Aug-2012 09:45
SQL:
CREATE TABLE `friends` (
`user` varchar(32) NOT NULL,
`friend` varchar(32) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `friends` (`user`, `friend`) VALUES
('Cls Prod', 'pro skiller'),
('Cls Prod', 'polo303'),
('Cls Prod', 'pjtips123'),
('Cls Prod', 'tommy0581'),
('Cls Prod', 'sageofmali');
CREATE TABLE `users` (
`username` varchar(255) NOT NULL DEFAULT '',
`password` varchar(255) DEFAULT NULL,
`rights` varchar(255) DEFAULT NULL,
`online` tinyint(1) NOT NULL,
`friends` text,
`donator` double DEFAULT NULL,
`time` bigint(20) NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `users` (`username`, `password`, `rights`, `online`, `friends`, `donator`, `time`) VALUES
('Cls Prod', 'password', '0', 0, NULL, NULL, 0);
CREATE TABLE `recentactivity` (
`user` varchar(255) NOT NULL,
`skill` int(11) NOT NULL,
`time` varchar(255) NOT NULL,
`killed` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `recentactivity` (`user`, `skill`, `time`, `killed`) VALUES
('Cls Prod', 2, '27-Aug-2012 16:06:40', '');
所以评论的 $query2 显示每个朋友的 1 个,但会显示超过 5 个,我想将其限制为仅显示 5 个最近的朋友活动。有什么帮助吗?