2016-11-30 174 views
-1

我做了類似的員工一個污物系統。PHP - Foreach循環 - 回聲選擇的值

用戶可以對員工輸入信息。在其他情況下,有一個「選擇」輸入,其中有來自數據庫的幾個選項。當我填寫表格並提交時,數據就會到達數據庫。

但是,當我想編輯的形式,在「選擇」輸入得到另外的價值,即使我沒有改變任何東西在那裏。所以我需要一些東西來回應已經從選項中輸入的值。

這是我的foreach循環,我使用循環類別:

<?php 
$i = 0; 
foreach($categories as $key => $category) { 
    ?> 
    <option value="<?php echo $category; ?>"><?php echo $category; ?></option> 
    <?php 
    $i++; 
} 
?> 

如何獲得從選擇和存儲在那裏的數據庫中的值。 感謝

+0

具有u看着你的數據庫,如果它是正確存儲這些精確值其中U提交? – Rasika

+0

@Rasika它呢。它運行良好,直到我想編輯用戶配置文件。然後,即使我不觸摸選擇輸入,它也會有一個新的值。假設有4個選項(a,b,c,d),第一次選擇'b'。它被存儲爲'b'。稍後,當我編輯配置文件中的任何信息時,選擇輸入get的值被覆蓋,讓我們說'a'。 – amircisija

+0

那麼問題必須出現在「更新」查詢或其值中。它有可能會自動改變它的值嗎?它是否顯示你編輯和更新的數據庫中的確切數據。 – Rasika

回答

4

HTML <option>標籤具有屬性selected,你應該使用,它指定了一個選項,應預先選擇:

<?php 
$i = 0; 
$selected_category = "B"; // category value from database 
foreach($categories as $key => $category) { 
    $selected = ($selected_category == $category) ? "selected" : ""; 
?> 
    <option value="<?php echo $category; ?>" <?php echo $selected; ?>> 
    <?php echo $category; ?></option> 
<?php 
    $i++; 
} 
?> 
+0

但我不能硬編碼categorie值,我可以將它們添加dinamical – amircisija

+1

*從數據庫類別值* - 這意味着你從數據庫/緩存拿到最後一個已知的選擇的值或者不過你存儲它@amircisija – KDOT

+0

好嗎,我添加了$ selected_category = $ edit_row [「rm_cat」] ;.它現在有效。當我打開配置文件進行編輯時。該選項值獲取選中。非常感謝。 – amircisija