首先道歉,因为这是非常基本但是 我似乎无法做对。在这里搜索过 在其他地方寻求答案(并试过各种各样),但总有 一个错误。在这一点上花了太长时间,应该真的知道 答案,但在这里:
好的我有一个主要的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语句中做到正确。
非常感谢任何帮助。
答案 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 库。它为你处理这类事情。