2017-10-05 79 views
-4

我有一個使用foreach循環填充查詢數據的html選擇。默認值爲空,因此當頁面加載時,它會顯示未經過濾的查詢。它看起來像這樣如何在提交後顯示選定的選項值

$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>'; 

它用作基於所選選項值顯示數據的過濾器。它過濾表看起來是這樣的

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

現在,當我點擊提交併查看過濾查詢結果這是正確的,我也看到了默認選項值,而不是一個選擇了HTML來過濾數據選擇。我該如何修復this

+5

沒有你已經(在某種程度上)登載了嗎? https://stackoverflow.com/q/46582289/1415724並接受了一個答案。 –

+0

這不是同一個問題。它涉及到同樣的問題,但這是一個不同的問題。 – R1ddler

+0

_這不是同一個問題_這幾乎是100%相同的問題 –

回答

3

保留從$彥博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

我正在使用$ _GET請求而不是$ _POST。 – R1ddler

+0

然後將$ _POST更改爲$ _GET,應該很簡單。 – Adam

相關問題