2013-08-16 94 views
0

我搜索了很多並找到了替代解決方案,但在我的情況下,情況有點不同。在選擇菜單中記住選定的選項

<select name='database'> 
    <?php foreach($databases as $row): ?> 
     <option value="<?php echo $row; ?>"><?php echo $row; ?></option> 
    <?php endforeach; ?> 
</select> 

我需要顯示在選項標籤之間的POST請求後所選擇的選項,但因爲我已經有一個值,我無法找到一個方法來做到這一點。這個想法是,我有一個與幾個選擇菜單的形式。從第一個我選擇一個數據庫。第二個是從已經選擇的數據庫中選擇一個表格,另一個是用於列的選擇菜單。問題是我發送了一個新的數據庫和表的請求,並且所選的數據庫不能被記住(它只是'重置'選擇菜單並從第一個值開始)。

這裏的whole code

現在我需要重新選擇我已經爲了從表中顯示的列先前選擇的數據庫。

回答

3
<select name='database'> 
    <?php foreach($databases as $row): ?> 
     <option value="<?= $row; ?>" 
     <?php if ($row == $_POST['database']){echo " selected";}?>> 
      <?= $row; ?> 
     </option> 
    <?php endforeach; ?> 
</select> 
+0

謝謝!這就是訣竅:) – Keeper

+0

歡迎您;) –

1

這不工作?

$dbms=$_POST['database']; 
<select name='database'> 
    <?php foreach($databases as $row): ?> 
     <option value="<?php echo $row; ?>" 
      <?php if ($row == $dbms) echo " selected"; ?> 
     > <?php echo $row; ?></option> 
    <?php endforeach; ?> 
</select> 
+0

哦,不。無論如何,我覺得沒有任何意義。據我所知,它的語法和邏輯是無效的。 – Keeper

+0

'$ dbms'應該包含發佈的值 –

+0

$ dbms是您用來引用當前數據庫的變量。 –