我有一个问题:
$team_member_result = mysql_query("SELECT * FROM teams
WHERE team_creator LIKE '%,$player_main_id,%'
OR team_owner LIKE '%,$player_main_id,%'
OR team_leaders LIKE '%,$player_main_id,%'
OR team_captains LIKE '%,$player_main_id,%'
OR team_members LIKE '%,$player_main_id,%'
ORDER BY team_creator ASC, team_owner ASC,
team_leaders ASC, team_captains ASC,
team_members ASC");
它起作用,但如果该成员不是创建者,则它开始排序无序,所以基本上如果他们是成员,它将在他们成为领导者之前显示。
不知道该怎么做,
谢谢!
答案 0 :(得分:1)
主要问题是您的表格不在Third normal form中。因此,您尝试开发一个最终不起作用的SQL查询,特别是ORDER BY部分(除了已经提到的带逗号的LIKE过滤器)。
将你的表放在3NF中,然后你可以编写一个有意义的ORDER BY语句。
顺便说一句:不再使用mysql_*()
功能,它们是deprecated。请改用PDO。