0

これは非常に基本的なことですが、正しく理解できないようです。ここや他の場所で答えを検索しました(そしてさまざまなことを試しました)が、常にエラーがあります。このちょっとしたことにあまりにも長い時間を費やしたので、本当に答えを知っているはずですが、ここに行きます:

OK、インクルード ステートメントを使用してメインの 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'; }

私はエコーステートメントでそれを正しく理解できないようです。

どんな助けでも大歓迎です。

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
echo "<option value='".$ManList2; if($search == '$ManList2'){ echo 'selected'; } echo "'>".$ManList2."</option>"; 
于 2013-10-13T00:15:51.460 に答える
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 に答える