PHPを使用してAzure SQLデータベースからデータを取得していて、データベースから取得したオプションでドロップダウン(選択)ボックスを作成しました。 SQLクエリは、タイトル& Cycle_IDの2つの列を返します。PHPで選択されたオプションを変数として使用Selectドロップダウン
タイトルとしてテキスト文字列を、Cycle_IDに値を設定しました。 これで、現在選択している値(Cycle_ID)を変数(MyVariable)に保存します。これは、作成する次のドロップダウンボックス、つまりWHERE Cycle_ID = MyVariableに対してSQLクエリで使用します。 この方法では、ユーザーはドロップダウンボックスで下方向に進むにつれて選択範囲を徐々に絞り込みます。 私の現在のコードは以下の通りですが、現在の選択を作成してMyVariableに保存する方法がわかりません。
<?php
//create the database connection and define the query
$serverName = "myserver";
$connectionOptions = array(
"Database" => "mydatabase",
"Uid" => "mysqlaccount",
"PWD" => "mypassword"
);
//Establishes the connection
$conn = sqlsrv_connect($serverName, $connectionOptions);
//defines cycle query
$cyclesql= "SELECT [Cycle_ID]
,[Title]
FROM [ods].[Cycle]
WHERE End_Date > DATEADD(month,-6,GETDATE()) AND Updated IS NOT NULL
ORDER BY Cycle_ID Asc";
$cycleResults= sqlsrv_query($conn, $cyclesql);
if ($cycleResults == FALSE)
echo (sqlsrv_errors());
?>
<html>
<body>
<form action="cyclefile.php" method="post">
<div id="select">
<p>Select the week:</p><select name='Week'>
<option value="">Select...</option>
<?php
//starts loop
while ($row = sqlsrv_fetch_array($cycleResults, SQLSRV_FETCH_BOTH)) {
//defines cycle variable
$cycle = $row['Title'];
//defines cycle_id variable
$cycle_id = $row['Cycle_ID'];
//displays cycle variable as option in select (dropdown) list and cycle_id as value
echo '<option value="'.$cycle_id.'">'.$cycle.'</option>';
}
?>
</select>
</div>
</form>
</body>
</html>
:
は、次にスクリプトを行うことができます。あなたが気にしない場合は、その変数をGETとして新しいURLを作成し、フォームをポストバックするときに新しいドロップダウンボックス –
を表示するようにビルドすると、変数$ _POST ["Week"] 'が利用可能になりますそのドロップダウンに選択されたオプションのIDが含まれています。または、ページがリフレッシュされる前にJavascriptでクライアント側の値を使用する場合は、そのことを明確にしてください。 – ADyson