Php 将ORDER BY设置为非字母顺序

Php 将ORDER BY设置为非字母顺序,php,sql-order-by,Php,Sql Order By,所以我现在试着按字段排序,它按字母表排序。相反,如果可能的话,我希望它按照我设置的变量排序。以下是我发送给db的查询: $player_list = mysql_query("SELECT * FROM `players` WHERE `user_id`='".$_SESSION['user_id']."' ORDER BY position"); 答案是GK,DF,MF,ST,我想按这个顺序排序,唯一的问题是,因为它是按字母顺序排列的,所以GK和DF可以互换。任何帮助都是非常有用的 您可以通

所以我现在试着按字段排序,它按字母表排序。相反,如果可能的话,我希望它按照我设置的变量排序。以下是我发送给db的查询:

$player_list = mysql_query("SELECT * FROM `players` WHERE `user_id`='".$_SESSION['user_id']."' ORDER BY position");

答案是GK,DF,MF,ST,我想按这个顺序排序,唯一的问题是,因为它是按字母顺序排列的,所以GK和DF可以互换。任何帮助都是非常有用的

您可以通过以下方式订购:

$player_list = mysql_query("SELECT * FROM `players` WHERE `user_id`='".$_SESSION['user_id']."' ORDER BY FIELD(position, 'GK', 'DF', 'MF', 'ST')");

请提供更多关于“我希望它按我设置的变量排序”
orderbyfield(position,'GK','DF','MF','ST')
的详细信息,我在下面说了我希望它按其排序的表列。这个结果被打印到一个表中,所有的工作,只是需要修改的排序按位置排序:GK first,DF,MF,ST,而不是按字母顺序默认的GK,DF,MF,ST