2015-06-02 43 views
3

我試圖讓我的選擇選項在下拉列表中顯示從我的數據庫中選擇的類別。我只能讓它顯示出來,當我點擊我的提交按鈕時。如何設置選定的選項<select>

<?php 

    (isset($_POST["kategori"])) ? $kategori = $_POST["kategori"] : $kategori=1; 
    $sql = "SELECT * FROM kategori" 
    $result = mysqli_query($db, $sql); 
    while($produkt = mysqli_fetch_array($result)) { 

?> 

<option <?php if ($kategori == $produkt['kategori_id']) echo 'selected'; ?> 
value="<? echo $produkt['kategori_id']; ?>"> 
<? echo $produkt['kategori_navn']; ?></option> 

<?php 
} 
?> 

顯然我碰到POST的價值,這就是爲什麼它首先顯示的類別,當我點擊提交。

我需要從我的數據庫中選擇產品的產品ID,並使用它的ID來標記設置了哪個類別。

而我無法弄清楚如何做到這一點。

+4

什麼是'$ kategori' –

+0

您的代碼似乎是不錯的。查看數據 – splash58

+0

它包含$ _POST值並用於更新數據庫「更新產品集」fk_kategori_id ='$ kategori'WHERE produkt_id = $ id「 – nireck

回答

2

嘗試

$sql = "SELECT * FROM kategori" 
$result = mysqli_query($db, $sql); 

while($produkt = mysqli_fetch_array($result)) { 

    if ($kategori == $produkt['kategori_id'] ) : ?> 
     <option selected="selected" value="<?=$produkt['kategori_id']; ?>"><?=$produkt['kategori_navn']; ?></option> 
    <?php else: ?> 
     <option value="<?=$produkt['kategori_id']; ?>"><?=$produkt['kategori_navn']; ?></option> 
    <?php endif; ?> 

<?php } ?> 

$kategori哪裏是可變的,其具有先前選擇的選項值。

+0

工作就像一個魅力! :-) – nireck

+0

謝謝你隊友.. :) –

0

只是嘗試添加這樣的:

<option <?php if ($kategori == $produkt['kategori_id']) ?> value="<? echo $produkt['kategori_id']; ?>" selected="selected"><? echo $produkt['kategori_navn']; ?></option> 
+0

你所有的輸出選項將被選中,只有他們中的一個將有價值集。 – Kyborek

+0

他正在使用條件知道,好吧,我同意,我需要給出詳細的解釋.... –

-1

嘗試這樣的查詢: $ SQL = 「SELECT * FROM kategori其中kategori_id IN($駕駛員學校)」;

您將自動獲得匹配的類別,你可以選擇它,而無需使用while循環

+0

OP要輸出所有選項,並選擇已發佈的。你的代碼只會輸出一個選項,使選擇無用。 – Kyborek

+0

也可以使用NOT觸發另一個查詢...以便輸出將包含匹配和不匹配的選項。 –

相關問題