0

データベース テーブルから選択リストを作成しています。値が "New York" のような 2 つの単語で構成されている場合、オプション値だけが問題なく動作します。"New" のみが返されます。ここにコードがあります

<?  $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

"" で値を囲む必要があります。HTML コードは、York 部分がオプション タグの単なる別の属性であると見なすため、次のようになります。

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

" " .

于 2012-08-02T05:56:48.043 に答える
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 タグを記述するのと同じように、value の値に "" を使用するだけです。

于 2012-08-02T06:01:02.313 に答える