2017-10-05 20 views
-4

私は、foreachループを使用しているクエリからのデータを入力するhtml selectを持っています。デフォルト値は空です。したがって、ページが読み込まれると、フィルタリングされていないクエリが表示されます。これは次のようになります。サブミット後に選択したオプション値を表示する方法

$client = $wpdb->get_results("SELECT string FROM `file` WHERE 
`code` = 001"); 

echo 'Filter by client: '; 
    echo '<select name="client_list"><option value=""></option>'; 
    foreach ($client as $key => $row) { 
    $value = $row->string; 
    echo 
    '<option value='.$value.'>' 
    .$value. '</option>'; 
    } 
    $client = $_GET['client_list']; 
    echo '</select>'; 

これは、選択したオプション値に基づいてデータを表示するフィルタとして機能します。それはフィルタテーブルには、私が提出し、正しいフィルタクエリ結果を参照してください打ったとき、私はまた、代わりにHTMLでデータをフィルタリングするために選択された一つのデフォルトのオプション値を参照してください今すぐこの

|client | file    | 
    |------ |-------------------| 
    |client1 | file00000   | 
    |client2 | file00002   | 

ようになります選択します。 thisはどのように修正できますか?

+5

すでに(ソートの)すでにこの投稿をしませんでしたか? https://stackoverflow.com/q/46582289/1415724と回答を受け入れました。 –

+0

これは同じ質問ではありません。それは同じ問題に関連していますが、それは別の質問です。 – R1ddler

+0

_これは同じ質問ではありません_ほとんど同じ質問です –

答えて

3

は、あなたの$ _POSTのVARからの値を保持して、保持する選択した属性を追加し、その選択した値に設定されています

echo 'Filter by client: '; 
    echo '<select name="client_list"><option value=""></option>'; 
    foreach ($client as $key => $row) { 
    $value = $row->string; 
    if($_GET['client_list'] == $value){ 
     echo '<option value='.$value.' selected>'.$value. '</option>'; 
    }else{ 
     echo '<option value='.$value.'>'.$value. '</option>'; 
    } 
    $client = $_GET['client_list']; 
    echo '</select>'; 
+0

私は$ _POSTではなく$ _GET要求を使用しています。 – R1ddler

+0

次に、$ _POSTを$ _GETに変更します。単純にする必要があります。 – Adam

関連する問題