Webサイトにデータを取得したいデータベースがあります。名前とIDでリストされた状態が含まれています。id、namne、およびそれらのIDを含む州、次に存在するクラブでリストされた郡。それらが存在する郡IDと、実際のデータの列を参照します。
私が持っているもの:
状態IDと名前が表示されるドロップダウンメニュー。
私が達成したいこと:
状態を選択したら、たとえばnyとしましょう。そのIDを取得し、これを使用して、郡のドロップダウン用に別のmysql配列を収集します。状態の選択時に動的に発生するようにしたいのですが、ドロップダウンの横に結果のカウントを表示することもできます。
$resstate = mysql_query("SELECT * FROM state ORDER by longstate;") or die("Note: " . mysql_error());
State:
<select name="State" size=1>
<?
while( $rs = mysql_fetch_array( $resstate ) ) {
echo "<option value=" .$rs['id'] . ">" . $rs['longstate'] . "</option>";
}
echo "</select>";
?>
最初のドロップダウンでJavaScriptonChange="this.form.submit()"
を使用できることはわかっていますが、その時点で新しいページを作成し、状態ドロップダウンの機能を維持できるかどうかはわかりません。あなたがニューヨークを欲しがっていたときに誤ってニューハンプシャーを選んだ。
ドロップダウンを埋める現在の配列の例を次に示します。
http://snowmobileamerica.com/countytest.php
- - 編集 - -
Dagons Adviceを使用して、Ajaxを調べました。
getcounty.php?q=への参照に基づいてデータベースにクエリを実行することになっているphpファイルを作成しました。
ファイルは次のように作成されます。
<?php
$q=$_GET["q"];
$cn=mysql_connect("localhost","user","password") or die("Note: " . mysql_error());
mysql_select_db("snowusa_clubs", $cn);
$sql="SELECT * FROM county WHERE state_id = '".$q."' ORDER by name";
$result = mysql_query($sql);
echo "<select name="County" size=1>";
while($rc = mysql_fetch_array($result))
{
echo "<option value=" .$rc['id'] . ">" . $rc['name'] . "</option>";
}
echo "</select>";
mysql_close($cn);
?>
手動で実行しようとすると http://www.snowmobileamerica.com/getcounty.php?q=33500内部サーバーエラーが発生します...
私が間違ったアイデアはありますか?