2009-07-12 2 views
0

간단한 SQL 질문

그래서 나는이 페이지 매김을 사용 (미안 좋은 제목을 만들 수 없습니다) :

$page = $_GET['page']; 

$max = 5; 

// if $page is empty, set page number to 1 
if (empty($page)) $page = 1; 

$limit = ($page - 1) * $max; 

$sql = mysql_query("SELECT * FROM posts ORDER BY date DESC LIMIT $limit, $max"); 

$totalres = mysql_result(mysql_query("SELECT COUNT(id) AS tot FROM posts WHERE tid =  1"),0);  

$totalpages = ceil($totalres/$max); 
?> 

이 작동하지만 내가 원하는 것은 가장 오래 가진 후 페이지를 변경하더라도 날짜는 항상 맨 위에 있습니다. 어떻게해야합니까? 나는 네가 할 수있는 것을 안다. 바라건대 당신이

, 감사

+1

으로 시작되도록 페이지를 조정하십시오. 단시간 내에 미리 알림을 보내 주시면됩니다. 그걸 없애 버려. 선택 * –

+0

이유가 뭐지? –

+0

선택하는 모든 데이터는 데이터베이스 서버에서 PHP 스크립트로 이동해야합니다. – Arjan

답변

1
당신은 아마 정말 데이터의 두 가지의 조합입니다 당신이 원하기 때문에 통합 쿼리를 할 필요가

...

  1. 가장 오래된 포스트
  2. 모든 다른 게시물을 뺀 페이지 위치 조정 가장 오래된 포스트 ...의

    select * from posts order by date DESC limit 0,1 
    union 
    select * from posts order by date desc limit $start,$end 

이제 시작 값이 최소 1 (0 일 경우 가장 오래된 게시물이 두 번 표시됨) 또는