2011-07-29 4 views
0

データベースから都市名を取得して新しい都市を追加すると自動的に更新される動的ドロップダウンメニューを作成しようとしています。その都市のページ。ドロップダウンメニューは機能しますが、都市を選択すると何も起こりません。どこが間違っているのか分かりません。ここで私は新しいオプションが選択されたときに、本質的にページの場所を変更しないようにデータベースからの動的ドロップダウンプルオプションが動作しません

<?php mysql_select_db ("db_name"); 
    echo "<select name=database><option value='.'>Select Your City</option>"; 
    $result = mysql_query ("select DISTINCTROW city_head from database order by city_head"); 
    while ($city_head=mysql_fetch_assoc($database)) { 
    echo "<option value="#CityIDPage">".$city_head[city_head]."</option>\n"; } 
    echo "</select><p>"; 

?>

+0

何が起こると思いますか? selectフィールドの値はすべてのオプションで同じで、新しい都市を取得してページを更新する必要があります。これにより、PHPはデータベースに再度問い合わせを行います。 – Daff

答えて

0

<select>の要素を持っているものです。

あなたはこの機能を追加することができます - 選択したオプションのvalueの値にページの場所を変更 - selectに次の属性を追加することによって:

onchange="window.location.href=this.options 
[this.selectedIndex].value" 

すなわち、

<?php 
    mysql_select_db ("db_name"); 
    echo "<select name=database onchange=\"window.location.href=this.options 
[this.selectedIndex].value\"><option value='.'>Select Your City</option>"; 
    $result = mysql_query ("select DISTINCTROW city_head from database order by city_head"); 
    while ($city_head=mysql_fetch_assoc($database)) { 
     echo "<option value="#CityIDPage">".$city_head[city_head]."</option>\n"; 
    } 
    echo "</select><p>"; 

。なお、都市ごとにvalueを適切に設定する必要があります。私はあなたのデータベースのスキーマを知らないので、私はそこに助言することはできません。

+0

それは偉大なチーケンを働いた。ありがとうございました!私はフォローアップの質問があります。ドロップダウンリストがリンクされていますが、URLを動的にするのに問題があります。一言で言えば、各都市には独自のページIDがあり、ユニークなURLをエコーするという価値を得ることはできません。 echo "

+0

'$ CityIDPage'はそこにあるスニペットの変数ですか?あなたの現在の実装では 'id'にどのような値が割り当てられており、どの値に割り当てたいのですか?これは100%推測ですが、あなたのデータベーススキーマがどのようなものかはわかりませんが、あなたが望むのは 'echo '

+0

はい、$ CityIDPageは数値のプライマリキーです。したがって、 '$ city_head'は都市名を含み、' $ CityIDPage'は一意のレコード番号を含みます。 ドロップダウンメニューで$ city_headをクリックすると、レコード番号に反映された一意のURLが表示されます。たとえば、 'echo '

関連する問題