所以我有db table>“schools”,并在这个表中名为“metro”的列。 在“地铁”我有这样的字符串“站名1,站名称2,站名5”为什么array_unique不能和explode()一起工作?
我现在做有选择地铁站搜索表单,所以我的代码看起来是这样的:
<select name="categoryID">
<?
$metro_sql=mysql_query("SELECT metro FROM schools");
while($metro=mysql_fetch_array($metro_sql)){
$metro_pieces = explode(", ", $metro['metro']);
foreach (array_unique($metro_pieces, SORT_REGULAR) as $metro_all) {
echo "<option value=\"".$metro_all."\">".$metro_all."</option>\n ";
}
}
而结果: 地铁站1 地铁站2 地铁站3 地铁站1 地铁站4 地铁站5 等 我做错了什么? p.s.对不起我的英语不好。
最有可能的问题是在字段值空间,使他们非唯一 –
无关你的问题,但如果你的数据是更加正常化的,你不必像这样处理它。将逗号分隔的数据存储在关系数据库中几乎总是一个坏主意。 – Corbin