ビュー ファイルの else if ステートメントに問題があります。
私は Yii フレームワークを使用しており、ビュー ファイルに次のコードがあります。
<select class="formRightPulldown" name="Post[password]">
<?php foreach($passwordData as $password) :?>
<option value="<?php echo $password['id'] ?>"
<?php if(isset($updateErrorPost) &&
$updateErrorPost['password']==$password['id']){
echo 'selected';
} else if(isset($postUpdate) &&
$postUpdate['password']==$password['id']){
echo 'selected'; } ?>
>
<?php echo $password['name'] ?>
</option>
<?php endforeach ;?>
</select>
"$updateErrorPost" が true に設定されている場合、"else if" の後にコードを読み取るべきではないと思います。
しかし、なぜか「$updateErrorPost」をtrueに設定しても、「else if」以降のコードを読み込んでしまうため、複数のオプションタグに「selected」の値が追加されてしまいます。
この問題の原因を知っている人はいますか?
PHPプログラミングの非常に基本的なことを誤解していますか???
助けてください!
前もって感謝します :)
+++追加+++
以下のように、選択した値を複数のオプションタグに追加することになります...
<select class="formRightPulldown" name="Post[password]">
<option value="3">temporary</option>
<option value="2" selected>Subscriber</option>
<option value="1" selected>VIP</option>
</select>
上記のコードでは、最初の if ステートメントが true の場合は最初に選択された値が追加され、else-if ステートメントが true の場合は 2 番目に選択された値が追加されます。
なぜ if 文は true なのに、else-if の後のコードが読み込まれるのですか?