2017-12-23 14 views
0

私はPHPを使用してMySQLクエリの結果を出力しています。私はすべての行を表示するか、1つの値に基づいて制限するか、または1つ以上の値に制限するようにクエリを設定しました。1つの出力テーブルで複数のソートドロップダウンを使用する最も良い方法は?

しかし、PHPを使ってクエリを制限するための値の選択を制御するにはどうすればよいのでしょうか。

出力テーブルのTHタグにはドロップダウンがあり、ページがリロードされ、$ _GETを使用してクエリ値が渡されます。

これまでのところ私は1つのドロップダウン選択ように作られています:あなたが見ることができるように

<select onchange="location = this.options[this.selectedIndex].value;"> 
<option value="nikki.php" <?php if (!isset($status)) { echo "selected"; } ?>>状況選択</option> 
<option value="nikki.php?status=finished" <?php if ($status == "finished") { echo "selected"; } ?>>完了</option> 
<option value="nikki.php?status=waitingforcallback" <?php if ($status == "waitingforcallback") { echo "selected"; } ?>>電話待ち</option> 
<option value="nikki.php?status=unfinished" <?php if ($status == "unfinished") { echo "selected"; } ?>>末完了</option> 
</select>​ 

は、選択クエリにデータを渡すために、ステータスタグを持つページを呼び出します。

しかし、他の(またはそれ以上の)ドロップダウン選択をしたいのですが?私は、URLをご確認のようなことを行う、現在のURLのステータスに応じて"?status=XXX"または"&status=XXX"のいずれかを追加し、それは、IFSの多くを伴うだろうし、何を行うための最善の方法のように見えるしていませんでした知っている

<select onchange="location = this.options[this.selectedIndex].value;"> 
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=AAA'?>">A</option> 
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=BBB'?>">B</option> 
<option value="<?php echo $_SERVER['PHP_SELF'] . '&type=CCC'?>">C</option> 
</select>​ 

私は達成したい。

私の質問がはっきりしていることを願っています。

+0

js関数を呼び出すonchangeについてはどうでしょうか。 jsでは、選択したすべての値を調べて新しいクエリ文字列を作成しますか? – JasonB

答えて

0

なぜループを型の配列に使用しないのですか?

<?php $types = ['AAA', 'BBB', 'CCC']; 
     foreach ($types as $type) { 
     $linkValue = $_SERVER['PHP_SELF'] . '&type='. $type; ?> 
     <option value="<?= $linkValue ?>"><?= $type ?></option> 
    <? } ?> 
関連する問題