単純な if ステートメントを PHP の while ループ内で動作させるのに問題があります。これは私のコードです:
$p=mysql_query("SELECT * FROM forum_posts WHERE forum_id='$cid' AND topic_id='$id' AND post_deleted='0' ORDER BY post_time ASC LIMIT $offset, $rowsperpage");
while($post=mysql_fetch_assoc($p)){
$userpost=$user->getUserData($post['userid']);
if($userpost['specialmembership'] == 1){
$pioneer = "True";
}
echo $userpost['username'];
echo $pioneer;
}
したがって、上記の例では、2 人の異なるユーザーがいます。それらの名前はuser1
およびuser2
です。
- User1 は specialmembership = 0 を持っています
- User2 は specialmembership = 1 を持っています
上記のコードは次のように出力します (この例の while ループは4 回ループされています)。
次のように出力されます。
user1
user2
true
user1
true
user2
true
問題は、スクリプトが 3 番目のループで user1 に true を出力していることです。User1 は true に設定すべきではありません。user2 のみが true に設定されるべきです。specialmembership = 1;
ここで何が問題なのですか?