PHP在选项标签中

时间:2013-10-13 00:09:27

标签: php

首先道歉,因为这是非常基本但是 我似乎无法做对。在这里搜索过 在其他地方寻求答案(并试过各种各样),但总有 一个错误。在这一点上花了太长时间,应该真的知道 答案,但在这里:

好的我有一个主要的php文件使用include语句来引入一个下拉菜单 从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语句中做到正确。

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

这样的事情怎么样:

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

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

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

    echo '>' . $ManList2 . '</option>'; 
}

答案 2 :(得分:0)

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

答案 3 :(得分: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>'; 
}

答案 4 :(得分: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 库。它为你处理这类事情。