검색 결과에 대해 "뒤로 1 2 3 4 5 앞으로"처럼 보이는 링크를 만드는 방법에 대해 최근 지원 포럼에 많은 질문이 있었습니다. 아래 스크립트가 검색 결과 페이지에 이 기능을 추가하는 데 도움이 되기를 바랍니다. 이 예제는 MySQL용으로 특별히 작성되었지만 다른 SQL 엔진에도 쉽게 적용할 수 있습니다.
모든 애플리케이션이 다르기 때문에 MySQL 쿼리 처리에 몇 가지 공통된 명령문을 사용합니다. TABLE 이름은 실제 테이블 이름으로 바꿔야 합니다. YOUR CONDITIONAL HERE는 where 조건으로 대체되어야 하며, WHATEVER는 결과를 정렬하려는 필드로 대체되어야 합니다(애플리케이션에 내림차순이 필요한 경우 DESC를 추가하는 것을 잊지 마십시오).
$limit=20; // 반환된 행
$numresults=mysql_query("select * from TABLE where YOUR CONDITIONAL order by 무엇이든"); $numresults);
// 0으로 설정되지 않은 경우 오프셋이 스크립트에 전달되었는지 확인합니다.
if (empty($offset)) {
$offset=0;
// 결과 가져오기
$result=mysql_query("select id,name,phone ".
"from TABLE where YOUR CONDITIONAL HERE ".
"무엇이든 제한 $offset,$limit로 주문 ") ;
// 이제 반환된 결과를 표시할 수 있습니다
while ($data=mysql_fetch_array($result)) {
// 여기에 원하는 대로 결과를 표시하는 코드를 포함합니다
}
// 그런 다음 다른 결과에 대한 링크를 생성해야 합니다.
if ($offset==1) { // 오프셋이 0이면 이전 링크를 무시합니다.
$prevoffset=$offset-20; > print " PREV n";
}
// 링크할 페이지 수 계산
$pages= intval($numrows/ $limit);
// 나눈 후 나머지가 없으면 이제 $pages에 필요한 페이지의 정수 값이 포함됩니다.
if ($numrows%$limit) {
// 나머지가 있으면 한 페이지를 추가하세요
$pages ;
}
for ($i=1;$i<=$pages;$i ) { // Loop
$newoffset=$ 제한*($i-1);
인쇄 "$i n"
}
// 확인 마지막 페이지입니다
if (!( ($offset/$limit)==$pages) && $pages!=1) {
//다음 페이지가 아닌 경우 뒤로 링크 제공
$newoffset=$offset $limit;
인쇄 "NEXT
n"
?>
이 내용은 사용하기 다소 혼란스러울 수 있습니다. 물론 HTML 출력을 더 깔끔하게 만들고 싶을 수도 있습니다...
또한 $PHP_SELF 뒤의 링크에는 $offset만 포함되어 있다는 점에 유의하세요. 쿼리의 where 조건에 대한 매개변수를 전달해야 하는 경우 위에 해당 매개변수도 추가해야 합니다.
위 내용은 2015035 Shuangseqiu 복권 결과와 2015035 Shuangseqiu 복권 결과를 포함하여 쿼리 결과에 대한 뒤로/앞으로 버튼 설정을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.