私は (以下でお気づきになると思いますが) プログラマーでもコーダーでもありません。ネットワークのドキュメント マニュアルを書いています。
そうは言っても、私は HTML、php、css などにある程度精通しています。しかし、次のことは私を完全にそして完全に困惑させました:
窮地に立たされている友人のためにサイトを構築しようとしています。他はすべてうまくいっていますが、エンドユーザーを彼らのコミュニティ専用に構築された Web ページにリダイレクトする必要があります。
私が必要としているのは、エンドユーザーが (MySQL クエリを介して) レコードが利用可能なすべての州を一覧表示するドロップダウン メニューをクリックする方法です。最初のメニュー内のオプションを選択すると、2 番目のメニューその州内のコミュニティによって(再びMySQLを介して)入力されます。
役に立つかもしれないものをインターネットで探しましたが、コーディングのロジックについて十分な準備ができていないことがわかりました。ただし、私がやろうとしていることの基本的なバージョンを示す 1 つのサイトを見つけました (こちらを参照) が、MySQL で動作させることができないようです。これは私がこれまでのところです:
脚本 -
<script>
function swapOptions(ArrayName) {
var ExSelect = document.theForm.sites;
var theArray = eval(ArrayName);
setOptionText(ExSelect, theArray);
}
function setOptionText(theSelect, theArray) {
for (loop = 0; loop < theSelect.options.length; loop++) {
theSelect.options[loop].text = theArray[loop];
}
}
</script>
と HTML --
<form name="theForm">
<select name="chooseCat" onchange="swapOptions(this.options[selectedIndex].text);">
<option value="">Please select your state ...</option>'
<?php
$query = mysql_query("SELECT DISTINCT state FROM sites ORDER BY state")
or die(mysql_error());
while ($result = mysql_fetch_assoc($query)) {
$stateChoice = $result['state'];
echo '<option value="';
echo "$stateChoice";
echo '">';
echo "$stateChoice";
echo '</option>';
echo '<br />';
}
?>
</select>
<select name="sites" style="min-width: 100px;" onchange="location.href='reports.php?page=' + this.options[this.selectedIndex].value;">
<?php
$query = mysql_query("SELECT * FROM sites")
or die(mysql_error());
while ($result = mysql_fetch_assoc($query)) {
echo '<option value="';
echo '">';
echo $result['longname'];
echo '</option>';
echo '<br />';
}
?>
</select>
</form>
これにより、2 つのドロップダウンが返されます。ドロップダウンにアルファベット順にリストされている、利用可能な州に対する私のクエリの結果を含む最初のもの。2 番目には、リストされているすべてのサイトの長い名前がありますが、特定の州 (選択した州) 内のサイトだけでなく、テーブル内のすべてのサイトが対象です。
最後に、ドロップダウン 1 に使用可能なすべての状態を入力する必要があります。ユーザーが州を選択すると、選択した州内のすべてのコミュニティでドロップダウン 2 の作成がトリガーされます。ドロップダウン 2 でコミュニティの選択をクリックすると、ユーザーのブラウザがたとえばhttp://www.webpage.com/reports.php?page=communityNameGoesHere ...にリダイレクトされます。
ここでのアドバイスに感謝します:)