. 이 예에서는 $ _GET [ 'page']을 사용하여 $ page 변수를 초기화합니다. GET var를 설정하지 않으면 기본값 인 1 페이지로 이동합니다.
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
이제 우리는 쿼리에 몇 개의 페이지가 있는지 파악하려고합니다. 이를 위해 COUNT() SQL 함수를 사용하여 반환 된 숫자를 원하는 페이지 당 결과량으로 나눕니다.
$pages = implode(mysql_fetch_assoc(mysql_query("SELECT COUNT(key) FROM table")));
$pages = ceil($pages/6);
이제 다른 GET 변수가 설정 될 수 있으므로 쿼리 문자열을 보존하려고합니다. 이렇게하기 위해 우리는 모든 현재 변수 (물론 페이지 1 제외)를 문자열로 어셈블합니다.
$querystring = "";
foreach ($_GET as $key => $value) {
if ($key != "page") $querystring .= "$key=$value&";
}
그런 다음 페이지를 반복하여 링크를 표시 할 수 있습니다. 조건부 또는 삼항 연산자를 사용하여 현재 페이지에 다른 클래스를 지정할 수도 있습니다. (- 1) * 6 ($ 페이지), 6 (우리가 가지고 있기 때문에
echo "Pages: ";
for ($i = 1; $i <= $pages; $i++) {
echo "<a " . ($i == $page ? "class=\"selected\" " : "");
echo "href=\"?{$querystring}page=$i";
echo "\">$i</a> ";
}
그런 다음,이 경우 LIMIT에서 우리가 LIMIT의 SQL 절을 사용하여 현재 페이지와 관련된, 또는 결과 만 표시 첫 번째 페이지는 0 번째 레코드에서 쿼리해야합니다.
$result = mysql_query("SELECT * FROM table LIMIT " . (($page - 1) * 6) . ", 6");
sql에서 'LIMIT' 절을 사용하십시오.이 절은 사용자의 ID 번호와 완전히 관련이 없습니다. – jeroen