我在数据库中有'city'字段,其中包含邮政编码和城市名称,如下所示:'12345 city'现在我需要获取这些城市并填充一个select字段。下面的代码我得到重复的城市(如果有"12345芝加哥"answers"54321芝加哥"我得到两个芝加哥选项),如何做的东西像mysql组由或不同的php?
while ($re = mysql_fetch_assoc($rez))
{
$city= $re["city"];
$city= preg_replace("/[0-9]/", "", $city);
$city= trim($city);
if ($city==""){echo "";}
else if ($_SESSION['sess']==$city){
echo "<option value={$_SESSION['sess']} selected=selected>{$_SESSION['sess']}</option>";
}
else echo "<option value=$city>$city</option>";
}
$city_array = array();
while ($re = mysql_fetch_assoc($rez))
{
$city= $re["city"];
$city= preg_replace("/[0-9]/", "", $city);
$city= trim($city);
$city_array[] = $city;
}
$city_array = array_unique($city_array);
然后为$city_array
可以将$city
存储为数组中的键。因为数组中的键是唯一的,所以你不会得到任何重复的值。
$ar = array();
while($re = mysql_fetch_assoc($rez)) {
$city= $re["city"];
$city= preg_replace("/[0-9]/", "", $city);
$city= trim($city);
$ar[$city]=0;
}
然后可以使用foreach循环遍历键值。
foreach($ar as $key =>$value) {
if($key == "") {
echo "";
}
else if ($_SESSION['sess']==$key){
echo "<option value={$_SESSION['sess']} selected=selected>{$_SESSION['sess']}</option>";
}
else {
else echo "<option value=$key>$key</option>";
}
}