2013-10-13 16 views
0

首先道歉,因爲這是相當基本的,但 我似乎無法看清楚。已經在這裏搜索和 答案(並嘗試各種),但總是有 一個錯誤。花了太長時間在這一點,真的應該知道 的答案,但這裏有雲:PHP在一個選項標籤

好吧,我有使用包含語句的主PHP文件在下拉菜單 帶來與選項是從MySQL數據庫填充。在被包括在文件我有這個while循環它創建 選項和正常工作:

while ($db_field = mysql_fetch_assoc($result)) { 
    $ManList2 = $db_field['categoryName']; 
    echo '<option value="' . $ManList2 . '">' . $ManList2 . '</option>'; 
} 

我想補充的是像在選項標籤下面:

if($search == '$ManList2') { echo 'selected'; } 

我只是似乎無法在echo語句中正確使用它。

任何幫助非常感謝。

+0

你的意思是'if($ search == $ ManList2)'甚至是'if($ search ==「$ ManList2」)' – Musa

回答

4
echo '<option value="'.$ManList2.'" '.($search == $ManList2 ? 'selected' : '').'>'.$ManList2.'</option>'; 
+0

感謝Paul和所有人 - 並不是真的想問我是否喜歡爲自己工作,但只是無法做到。認爲它是html和位置''等的回聲。你是我第二次嘗試並且工作得很好,所以再次感謝! – onelove

1

怎麼是這樣的:

while ($db_field = mysql_fetch_assoc($result)) { 
    $ManList2 = $db_field['categoryName']; 

    echo '<option value="' . $ManList2 . '"'; 

    if($search == '$ManList2') { 
     echo ' selected'; 
    } 

    echo '>' . $ManList2 . '</option>'; 
} 
0
echo "<option value='".$ManList2; if($search == '$ManList2'){ echo 'selected'; } echo "'>".$ManList2."</option>"; 
0

你可以嘗試這樣的事情(假設你選擇的名字是search

$search = isset($_POST['search']) ? $_POST['search'] : ''; // or $_GET maybe 
$selected = ''; 
while ($db_field = mysql_fetch_assoc($result)) { 
    $ManList2 = $db_field['categoryName']; 
    $selected = $search == $ManList2 ? 'selected' : ''; 
    echo '<option '.$selected.' value="'.$ManList2.'">'.$ManList2.'</option>'; 
} 
0

你可以使用變量放到您的PHP,如:

while($db_field = mysql_fetch_assoc($result)) { 
    $ManList2 = $db_field['categoryName']; 
    $selected = $search === $ManList2 ? "selected='selected'" : ''; 
    echo "<option value='$ManList2'$selected>$ManList2</option>"; 
} 

我不明白$search是什麼,所以這種方法可能無法正常工作。我會用我的PHPglue庫。它爲你處理這類事情。

相關問題