2017-10-05 9 views
1

私は、foreachループを使用しているクエリからDATAでデータが取り込まれるhtml selectを持っています。これは次のようになります。htmlでデフォルトのオプション値を空白のままにしておきます

$client = $wpdb->get_results("SELECT string FROM `file` WHERE 
`code` = 002 AND `status` = 2"); 

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

これは、選択したオプション値に基づいてデータを表示するフィルタとして機能します。フィルタする表はこのようなものです

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

ここでは、htmlの最初のオプション値(デフォルト値)を空にします。これはどうすればいいですか?

答えて

0

あなたは空の値を作成するために動作しますが、私は提出打ったとき、それは望ましい結果が得られていない。この

 $client = $wpdb->get_results("SELECT string FROM `file` WHERE 
    `code` = 002 AND `status` = 2"); 

    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>'; 
+1

これは2つの空の値を与えます。あなたは/オプションで行方不明です。 – R1ddler

+0

@ R1ddlerあなたは*「それは2つの空の値を与えます。あなたは欠けている/オプションにあります」* - 私はそのコメントによって混乱しています、そして、質問を完全に解決し、あなたの新しい質問https://stackoverflow.com/q/46588904/1415724 –

+0

閉じる/入力オプションを省略すると、2つの空の値が与えられます。これは問題を解決しました。私はオプションを/に追加するだけで済みました。私の新しい質問はこの質問とは異なり、この質問とは関係がありません。 – R1ddler

0

は、最初の空のオプションを追加します。提出の

echo '<select name="client_list"><option value=""></option>'; 

client_listが空の場合は、誰かが何かを選択しなかった知っています。

+0

を使用することができます。空のクライアントリストを使用してサブミットすると、フィルタリングされていないクリーンなクエリを表示したいが、代わりに結果が得られない。 – R1ddler

+0

これはオリジナルよりも別の問題です。空の場合は、$ client = $ _GET ['client_list']; 'をクエリに使用しないでください。 –

関連する問題