这段代码不是我写的,它来自 Racetracker (http://sourceforge.net/projects/racetracker/),但我一直在尝试进行一些修改。
我正在尝试制作一份简短的球队积分榜,因此将其限制为 5 支球队。球队排名页面中包含“ORDER BY SUM(driverpoints)
”,但它不执行任何操作(该页面使用 Javascript 手动对 HTML 表进行排序)。此外,当我尝试添加 LIMIT 5 时,它同样什么也不做,它只是打印所有不同的团队。这是相关代码(我在这里删除了很多重复的 OR,因为有 43 个 OR drivername
= '$thenames[1]' 限定符,它们不影响 ORDER BY 和 LIMIT 部分是否有效):
$total= mysql_query("SELECT SUM(driverpoints), SUM(events), SUM(firstplace),
SUM(qual1stplace), SUM(lapsseason), SUM(lapsledseason), SUM(top5season),
SUM(top10season), SUM(provisionals)
FROM `$whatseriestable`
WHERE `year` = $siteyear AND `drivername` = '$thenames[0]'
OR `drivername` = '$thenames[1]'
ORDER BY `SUM(driverpoints)` DESC LIMIT 5");
同样令人费解的是,ORDER BY 和 LIMIT 在车手积分榜摘要中运行良好:
$stn= mysql_query("SELECT * FROM `$whatseriestable`
WHERE `year` = $siteyear
ORDER BY `driverpoints` DESC LIMIT 10");
为什么这对球队排名不起作用?