0

首先很抱歉问这个问题,因为它很基本,但我似乎无法正确理解。已经在这里和其他地方搜索了答案(并尝试了各种),但总是有错误。在这一点上花了太长时间,应该真的知道答案,但这里有:

好的,我有一个主 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 语句中正确理解它。

非常感谢任何帮助。

4

5 回答 5

4
echo '<option value="'.$ManList2.'" '.($search == $ManList2 ? 'selected' : '').'>'.$ManList2.'</option>'; 
于 2013-10-13T00:15:54.833 回答
1

像这样的东西怎么样:

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

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

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

    echo '>' . $ManList2 . '</option>'; 
}
于 2013-10-13T00:15:35.993 回答
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>'; 
}
于 2013-10-13T00:22:58.857 回答
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库。它为你处理这种事情。

于 2013-10-13T00:23:18.780 回答
0
echo "<option value='".$ManList2; if($search == '$ManList2'){ echo 'selected'; } echo "'>".$ManList2."</option>"; 
于 2013-10-13T00:15:51.460 回答