0

3 つの異なる領域に結果を表示しているクエリを使用しています。制限を設定したくない領域の 1 つと、1 つに制限したい領域の 2 つです。私は、これらの特定の 2 つの領域の foreach で、そこに制限を追加できると考えていました。それを行う方法がわかりません。それが最善の方法であるかどうか。

これが私のクエリです:

$comments_query = "SELECT * FROM airwaves_comments aw,users u WHERE u.id=aw.from_id AND aw.FROM_id=aw.to_id AND aw.from_id=".$profile_id." order by aw.created_on desc" ;

これは、制限を望まない場所に表示されている結果です。

if ($airwave)
 {
 foreach ($airwave as $airwave_comment_row)
 {
// stuff
}
}

1つに制限したい場所に表示される結果は次のとおりです。

if ($airwave && $profile_id == $session_id)
            {
                foreach ($airwave as $airwave_comment_row)
                {
                    echo "<div id='profile_airwave'>";
                    echo $airwave_comment_row['comment'];
                    echo "<br />";
                    echo "<span class='profile_airwave_info'>"; 
                    echo $airwave_comment_row['created_on'];
                    echo "</span>";
                    echo "</div>";
                }
}

彼らが同じクエリを共有することは可能ですか? または、新しいクエリを作成する必要がありますか?

ありがとう

4

2 に答える 2

1

このようにクエリを変更できます。

$comments_query = "SELECT * FROM airwaves_comments aw,users u WHERE u.id=aw.from_id AND aw.FROM_id=aw.to_id AND aw.from_id=".$profile_id." order by aw.created_on desc" ;
if($profile_id == $session_id){
$comments_query .= " LIMIT 0,1"
}

または 、あなたが持っているのと同じロジックで試すことができます

    if ($airwave && $profile_id == $session_id)
         $airwave_comment_row = $airwave[0];
         // takes the first row
    }else if($airwave){
    foreach ($airwave as $airwave_comment_row)
       {
        // stuff
       }
   }
于 2013-05-31T19:00:27.820 に答える