2016-04-30 13 views
0

データベースから値をとり、genderという名前のドロップダウンに設定するPHPスクリプトを作成しようとしています。私はので、echo文(echo ('selected="selected"'))のサーバーエラーを取得変数に文字列を代入するときに "echo"を使用する

while($row = mysqli_fetch_assoc($result)) 
     { 
    $gender = $row['gender']; 
    $output.= "Gender: <select name='gender'> 
<option value='0' ".if ($gender != 'M' || $gender !='F') { echo ('selected="selected"');}.">Select gender</option> 
<option value='M' ". if ($gender == 'M') { echo ('selected="selected"');}.">Male</option> 
<option value='F' ". if ($gender == 'F') { echo ('selected="selected"');}.">Female</option></select>"; 
    } 

The website encountered an error while retrieving http://localhost/search.php. It may be down for maintenance or configured incorrectly. 

このためのソリューションは何である私は、次のコードを書かれていますか?

+0

は前に変数を割り当てるか、または機能(複数可) – Rasclatt

+0

変数を作ります? –

+0

あなたはそれらを作る。おそらくターナーリが一番クリーンです。 – Rasclatt

答えて

1

次の2つのパラメータを比較して選択した文字列を返すだけの単純な比較機能行うことができます:

function selectGender($gender,$out=false) 
    { 
     // You may not need these 3 lines if $gender is either empty, M, or F // 
     $filter = array('M','F'); 
     if(!in_array($gender,$filter)) 
      $gender = false; 

     if($gender == $out) 
      return ' selected="selected"'; 
    } 

while($row = mysqli_fetch_assoc($result)){ 
    $gender = $row['gender']; 
    $output.= "Gender: <select name='gender'> 
<option value='0'".selectGender($gender).">Select gender</option> 
<option value='M'".selectGender($gender,'M').">Male</option> 
<option value='F'".selectGender($gender,'F').">Female</option></select>"; 
} 
+0

関数内の2行目にセミコラムは必要ないと思います。 'if(!in_array($ gender、$ filter)); ' –

+0

一定。 – Rasclatt

+0

大丈夫です...ソリューションに感謝します... –

0

さて、ここでの最良のオプションは、単に文を、問題の原因を取り除き、それを作るAN場合しなければなり:

if ($gender != 'M' && $gender != 'F') { 
    output .= "...Enter he html with he generic answer selected..."; 
} 
else if ($gender == 'M') { 
    output .= "...Enter html with Male selected..."; 
else { 
    output .= "...Enter html with Female selected..."; 
} 

それは少しかさばるかもしれないが、それは仕事をしていません。

+0

私は次のようなことをしました: '性別: '' $ selected = '"selected =' selected '" 'まだ私はエラーを受け取ります..'($ gender == 'F') .. –

+0

これらの部分を$ genderの後の変数に割り当てる必要があります。 – Rasclatt

+0

デバッガなどでphpを実行してみて、エラーが発生していないかどうかを確認してください。 –

関連する問題