2011-05-14 7 views
3

회원의 자동 스크롤을 만들고 있습니다. 두 개의 mysql 쿼리가 있는데, 나는 사진을 가지고 있고 마지막 로그인으로 주문한 회원을 표시하고 싶습니다. 그래서 처음에는 내가 이렇게하고있는 것처럼 어떤 문제도 없다.두 개의 절이있는 mysql 쿼리

$sql=mysql_query("SELECT * 
        FROM accounts 
        WHERE avatar != '' 
       ORDER BY lastlogin DESC 
        LIMIT 50"); 

이것은 잘 동작하고있다. 하지만 사용자가 스크롤하여 페이지의 맨 아래로 이동하면 위의 동일한 필터링으로 주문한 50 명의 사용자 중 다음 세트를로드하려고합니다. 그래서 그것을 위해 내가 위의 하나가 마지막 로그인에서 51 회 구성원의 마지막 로그인 즉 ID의 ID를 찾는 데 사용됩니다

$sql = mysql_query("SELECT * 
         FROM accounts 
        WHERE lastlogin < '$last_msg_id' 
        ORDER BY lastlogin DESC 
        LIMIT 50"); 

을하고있는 중이 야. 지금은 사진을 갖는 멤버를 필터링 할 수 있습니다

$sql = mysql_query("SELECT * 
         FROM accounts 
        WHERE avatar != '' 
        ORDER BY lastlogin DESC 
        LIMIT 50"); 

내가 더 성공이 없습니다에 나는이 두 쿼리를 결합 할 수있는 방법을 알려주세요. 내가 제대로 질문을 이해 해요 경우

+0

TJ의 답변이 도움이 되었습니까? 여기에서 수집 한 답변에 대한 피드백이 있습니까? –

답변

6

, 정말 좋아, 당신은 단지 AND 잘 배치해야한다고 생각 :

SELECT * 
    FROM accounts 
    WHERE lastlogin < '$last_msg_id' 
    AND avatar != '' 
ORDER BY lastlogin desc limit 50 

당신이 뭘 하려는지인가요? 혹시 당신은 phpMyAdmin을 열고 항상 할 수있는 그러한 질문이 및 검색 탭을 사용하여 검색을 시도하는 경우

+1

+1 : 그렇게 읽었습니다. –

+0

나는 그것을 다르게 읽는다 : 그는'limit x offset y'를 사용하려고한다. –

+0

@Denis : 더 나은 접근 방법 이겠지만, 그는 이미 그의 lastlogin

-1

은 ... 당신의 쿼리가 자동으로 오류없이 생성됩니다 이런 식으로 ..

+0

phpmysql을 사용하여이를 수행하는 방법. 제발 내가 검색 탭을 가지고 어떻게 phpmyadmin –

+0

에서이 예제에 대한 PHP는 vcode를 생성 말해 줄래요 ... 잘 당신이 자동으로 출력 위에 연결된 SQL 쿼리를 생성 무언가를 검색 할 때마다 ... 당신은 없어 그것을 위해 무엇이든 여분으로해라. – Pawan

+0

이것은 대답 (Pawan)이 아니라 대답이어야했다. –

3

나는 당신이 무슨 말을 하려는지 생각 do는 첫 번째 쿼리 (아바타가있는 사용자 목록)의 결과 만 표시하지만 페이지 당 50 개의 블록으로 표시됩니다.

그런 경우 실제로 원하는 것은 2 개의 매개 변수가있는 LIMIT을 사용하는 것입니다. (자세한 내용은 MySQL SELECT syntax을 참조하십시오.)

두 개의 매개 변수가있는 LIMIT를 사용하면 첫 번째는 시작 오프셋, 두 번째는 최대 레코드 수입니다. 따라서, 예를 들어 : 그건 당신이 할 무슨 뜻인지 아니라면 길을 가야하는 것입니다

SELECT * FROM accounts LIMIT 0,50; # Retrieves users 1-50 
SELECT * FROM accounts LIMIT 50,50; # Retrieves users 51-100 
SELECT * FROM accounts LIMIT 100,50; # Retrieves users 101-150 
            # etc. 

, 다음 T.J.의 대답은 (조항은 WHERE 단지를 추가하고 두 가지를 가지고)!

관련 문제