0

我正在从数据库表中制作选择列表,一切正常,唯一的问题是选项值,如果该值包含两个单词,如“纽约”,它只返回“新”。这是代码

<?  $country=intval($_GET['country']);

include('connect-db.php');

$query="SELECT CityName FROM cities WHERE CountryId='$country'";
$result=mysql_query($query);

?>
<select name="city">
<option value="">Select City</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value=<?=$row['CityName']?>><?=$row['CityName']?></option>
<? } ?>
</select>
4

4 回答 4

1
<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option>

这 ” ” 。

于 2012-08-02T05:56:48.043 回答
1

您必须将值覆盖在“”中,HTML 代码认为 York 部分只是选项标签的另一个属性,所以:

<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option>
于 2012-08-02T05:57:55.550 回答
1

您在给出值时没有包含“”。如果您查看代码为选择框创建的 html,则类似于

<option value="new" york>new york</option>

下面给出了正确的解决方案,只是在给出选项标签的值时包含了报价。

<?  $country=intval($_GET['country']);

include('connect-db.php');

$query="SELECT CityName FROM cities WHERE CountryId='$country'";
$result=mysql_query($query);

?>
<select name="city">
<option value="">Select City</option>
<? while($row=mysql_fetch_array($result)) { ?>
<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option>
<? } ?>
</select>
于 2012-08-02T06:01:59.340 回答
0

只需使用 "" 作为值的值,就像编写 HTML 标记一样。

于 2012-08-02T06:01:02.313 回答