2012-01-09 21 views
0

私はこのスクリプトで長い道のりを歩んできましたが、今は新しい問題に取り掛かりました。データは正しくポストされていますが、編集を表示しようとするとプルダウンメニューに「なし」と表示されます。ただし、「Any Kahl」という名前はデータベースに表示されます。データベースに--None--プルダウンメニューが表示されている場合、他のショーデータが入力されている場合

以下のコードは私が使用しているものですが、データが正しい方法で引き出されていない理由を理解できないようです。どんな助けでも大歓迎です。

if ($row['fab1']=="--None--") 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 

答えて

1

次の文だけすぐに(あなたのケースで:echo'<div id="fab1">')、それに続く最初の行に適用される場合は、中括弧であなたのコードブロックをラップしていない場合はそれ以降何もかかわらず、あなたかどうかの実行されます、ステートメントはtrueに評価されます。

あなたは、中括弧であなたのif文をラップする必要があります。

echo '<div id="box4">'; 
echo '<h2>Fabricators</h2>'; 
if ($row['fab1']="--None--") 
{ 
    echo'<div id="fab1">'; 
    $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    $mysqli->select_db('user'); 
    $result = $mysqli->query("SELECT * FROM user"); 
    echo "<SELECT name='fab1'>\n"; 
    while($row = $result->fetch_assoc()) 
    { 
     echo "<option value='{$row['user']}'>{$row['user']}</option>\n"; 
    } 
    echo "</select>\n"; 
    echo '</div>'; 
} 
else 
{ 
    echo '<div id="fab1"><span class="b"></span><input type="text" name="fab1" size="20" value="' . $row['fab1'] . '" /></div>'; 
    echo '</div>'; 
} 
+0

ありがとうございました:)これはウェブサイトからの学習に問題があります。http://www.w3schools.com/php/php_if_else.aspこの場所は通常私には正しいことですが、何らかの理由でそれは私に言わなかったあなたが言ったようにカプセル化する。私はそれが奇妙だと思ったが、サイトはまだ私を失望させたことはなかった。 –

+0

@MattRidge - してくださいw3schoolsを使用しないでください!彼らは間違った情報でいっぱいです。これは、あなたに問題を引き起こすだけです。彼らがまだあなたを失望させていないという事実は、十分ではありません。私を信じて、いつかあなたは本当にそれらによって焼かれるでしょう! –

+0

私はそれを学んだことがありますが、それ以外のところではここ以外の種類の情報を得るためにどこに行くのですか?私は尋ねても構いませんが、私の仕事は私が時々それをするのを見て、私はそうではないのに私がFacebookにいると思っています。 –

1

あなたがもし、他の間で文をencapulateする必要があります。

これは、いくつかの異なる方法で実行できます。

if (condition) : 
//statements if true 
else : 
//all other statements 
endif; 

または

if(condition){ 
//statements if true 
} 
else { 
//all other statements 
} 

あなたはそれを書かれている方法は、唯一のif文の一部としてであれば後の最初の行を読み取ります。そういうわけで、elseステートメントは予期しないものです。

関連する問題