2013-03-17 48 views
0

我有這個代碼從Mysql的字段「類別」收集類別,它是一個部分編輯形式,我想要在列表填充後選擇之前選擇的類別,代碼是:編輯形式的選擇列表

<td align="right">Category</td> 
    <td> 
     <?php 
     // Write out our query. 
     $query = "SELECT id,cat_name,parent FROM categories WHERE parent='0'"; 
     // Execute it, or return the error message if there's a problem. 
     $result = mysql_query($query) or die(mysql_error()); 
     $dropdown = "<select name='category'>"; 
     while($row = mysql_fetch_assoc($result)) { 
     $dropdown .= "\r\n<option value='{$row['id']}'>{$row['cat_name']}</option>"; 
     } 
     $dropdown .= "\r\n</select>"; 
     echo $dropdown; 
     ?> 
     </td> 

我不知道該怎麼做?我知道我應該在我想要選擇的選項上鍵入「選定」,但在填寫名單後如何選擇它?

+0

你在哪裏保存先前的選擇?如果你沒有堅持下去,服務器不知道你之前選擇了什麼。 – 2013-03-17 14:01:56

回答

0

您可以使用索引標籤$tab["key"]這樣您可以輕鬆找到所需的行並對其進行編輯。

編輯:你的消息不是很清楚,但我想那是你想要做的。否則,請澄清。

+0

我使用變量來從數據庫檢索使用產品的ID,我有一個名爲「類別」的變量,它具有我想在列表中選擇的類別的名稱,但是如何在填充後選擇它,多數民衆贊成我的問題 – user2003332 2013-03-17 14:08:29

+0

就像我說的,使用和索引選項卡:$ dropdown [「categoryname」]這種方式,你可以很容易地找到填充選項卡後的好行。或者直接在循環中檢查,就像Liam建議的那樣。 – Maresh 2013-03-17 14:11:12

0

在你的代碼中,你並沒有檢查用戶以前選擇了什麼。你可以做到這一點是這樣的:

$selected = ''; 
if($row['id']==$userSelectedOption) $selected = ' selected="selected"'; 
$dropdown .= "\r\n<option value='{$row['id']}'{$selected}>{$row['cat_name']}</option>"; 

在上面的例子,我們有一個名爲$userSelectedOption表示用戶已經選擇變量的值。我們還假設它是一個類別的ID。在您的while循環中,您將使用上述3行而不是一行。當這個呈現出來時,列表將具有所選擇的項目是什麼匹配$userSelectedOption