在php中优先打印数组值

时间:2010-05-04 08:05:02

标签: php mysql

我有国家/地区表,

我获取所有值并移入数组,

这些值我想填入组合/下拉列表,

这里我想做一些神奇的事情,

也就是说,对于我的网站,大多数用户来自英国,澳大利亚,罗曼和少数用户,

所以我喜欢按照我的偏好填充

有没有任何数组会做这个神奇的工作,否则就有可能是mysql查询,

所以最后一个问题是,

根据我的偏好将国家/地区名称填充到组合中,

谢谢

2 个答案:

答案 0 :(得分:4)

首选项不能自动生成我不会想到因为没有办法知道。我要做的是在表中有一个(数字)首选项值和国家/地区,然后在执行SQL查询时,按首选项字段对其进行排序。每次用户选择该国家/地区时,您也可以增加此字段,以便根据受众群体最常见的位置更改列表顺序。

答案 1 :(得分:1)

拥有一个国家/地区列表非常烦人,其中并非所有项目都可以按字母顺序排列。我建议你只复制前2或3个以上使用过的项目并将它们显示在完整列表的顶部:

Australia
United Kingdom
United States
---------------
Afghanistan
Albania
Australia
Austria
...

我不确定,为什么你认为这涉及任何类型的魔法。您可以通过向数据库中的国家/地区表添加新的weight列来实现此目的,该列默认为1并将其增加为要突出显示的项目的较大值。然后,您可以使用PHP或SQL构建数据。

SELECT country_id, country_name
FROM country
WHERE weight>1
ORDER BY weight, country_name
UNION ALL
SELECT country_id, country_name
FROM country
ORDER BY country_name