Php 下拉菜单中的自定义订单SQL值

Php 下拉菜单中的自定义订单SQL值,php,sql,drop-down-menu,sql-order-by,Php,Sql,Drop Down Menu,Sql Order By,我需要一些帮助排序下拉菜单中的值,因为我似乎不能做正确的自己 基本上,我在一个下拉菜单中从SQL中加载了大约100个值,现在我使用下面的语句进行排序: ORDER BY CASE WHEN title= 'Other' THEN 1 ELSE 0 END, title ASC"; 现在这些值按字母顺序显示如下: AAAA BBBB CCCC .... .... Other 我需要做的是在下拉列表的前4个位置给出几个值,然后有一个类似于“----”的条,然后显示其余的值,并将“其他”再次放在底

我需要一些帮助排序下拉菜单中的值,因为我似乎不能做正确的自己

基本上,我在一个下拉菜单中从SQL中加载了大约100个值,现在我使用下面的语句进行排序:

ORDER BY CASE WHEN title= 'Other' THEN 1 ELSE 0 END, title ASC";
现在这些值按字母顺序显示如下:

AAAA
BBBB
CCCC
....
....
Other
我需要做的是在下拉列表的前4个位置给出几个值,然后有一个类似于“----”的条,然后显示其余的值,并将“其他”再次放在底部:

BBBB
DDDD
HHHH
TTTT
----
AAAA
CCCC
EEEE
....
....
Other

我会通知任何反馈,谢谢

您将需要一个排序列。否则,您将需要一个视图来提供订购编号。类似于

CREATE VIEW myView(ord,title) AS
    SELECT 1,"BBBB" FROM Table1
    UNION
    SELECT 2,"DDDD" FROM Table1
    UNION
    SELECT 3,"HHHH" FROM Table1
    UNION
    SELECT 3,"TTTT" FROM Table1
    UNION
    SELECT 5,"----" FROM Table1
    UNION
    SELECT 6,title FROM Table1 WHERE title NOT IN ("BBBB","DDDD","HHHH","TTTT")
    UNION
    SELECT 7,"Other" FROM Table1;
然后,您可以
从myView ORDER BY ord,title ASC中选择*
。如果选择了“----”,则必须处理它

  • 将数据库中的所有值按字母顺序加载到PHP数组或类似的数组中
  • 从数组中删除“特殊值”
  • 构建一个新数组,首先添加自定义4,然后添加数组中的所有内容,最后添加“其他”
  • 使用新数组创建下拉列表
  • 你可以用“--”来代替