> 백엔드 개발 > PHP 튜토리얼 > PHP에서 두 페이지 넘기기 표시 기능 구현

PHP에서 두 페이지 넘기기 표시 기능 구현

墨辰丷
풀어 주다: 2023-03-30 07:40:01
원래의
4060명이 탐색했습니다.

이 글은 주로 PHP에서 두 페이지 넘김 표시 기능을 구현하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

php+mysql을 사용하여 모든 데이터베이스 정보를 웹 페이지에 표시하는 것이 매우 간단하고 흥미롭다는 것을 우리 모두 알고 있습니다. 데이터베이스 정보가 매우 작을 때 페이지 표시는 여전히 만족스럽지만 데이터베이스가 많을 때 정보, 페이지 표시 표시 상황이 매우 나빠질 것입니다. 현재 페이지의 데이터 표시 양을 구현하는 방법과 동적 뒤집기 기능을 구현하는 방법을 소개하겠습니다.
여기에서는 두 페이지 넘김 표시 기능 구현을 소개합니다.
먼저 페이지 넘김에 사용되는 데이터베이스 구문을 소개합니다.

mysql_query("select * from table order by id desc");
로그인 후 복사

이 데이터베이스 문은 레코드를 검색하고 이를 역순으로 표시하는 데 사용됩니다. .가 나오지만 페이지 넘기기 기능에서는 작동하지 않습니다. 다음 확장 구문은 페이지 넘기기의 핵심 기능입니다.

mysql_query("select * from table order by id desc limit $start,$limit");
로그인 후 복사

$start 여기서는 데이터베이스 검색의 시작 라인이고, $limit는 검색의 시작 라인입니다. 행에서 시작하여 $limit 레코드로 끝납니다. 이 핵심 기능을 사용하면 페이지 넘김 기능을 시작할 수 있습니다.

첫 번째 페이지 넘기기 기능: 여기에 소개된 기능은 페이지 넘기기 기능 중 가장 간단한 기능으로 페이지 넘기기와 뒤로 넘기기만 가능합니다. 사이트입니다.
먼저 페이지 넘기기 기능을 구현하는 아이디어를 소개합니다.

  • 먼저 현재 페이지에 고정적으로 표시되는 데이터 레코드 수를 결정하고 레코드가 20개라고 가정하고 $limit 값을 20으로 설정합니다. : $limit=20;

  • 데이터베이스 레코드를 표시할 때 첫 번째 레코드부터 시작해야 하므로 여기서 $start의 초기 값은 0으로 설정됩니다. $start=0

  • 페이지 구현 넘기기 기능은 $start의 동적 변경에 의존합니다. 페이지를 넘기면 $start는 정기적으로 $limit: $start+$limit를 추가합니다. $start는 정기적으로 $limit: $start-$limit를 뺍니다.

    위의 아이디어를 얻은 후 프로그램 설계를 시작할 수 있습니다.

page.php:

<? 
//设置当前页显示的数量(这个数量可任意设置) 
$limit=20; 
//初始化数据库搜索起始记录 
if (!emptyempty($start)) $start=0; 
mysql_connect("localhost","",""); 
mysql_select_db(database); 
//设置数据库记录总数 
$result=mysql_query("select * from table"); 
$num_max=mysql_numrows($result); 
$result=mysql_query("select * from table order by id desc limit $start,$limit); 
$num=mysql_numrows($result); 
echo "<table><tr><td>翻页功能</td></tr>"; 
if (!emptyempty($num)) { 
for ($i=0;$i<$num;$i++) { 
$val=mysql_result($result,$i,"val"); 
$val1=mysql_result($result,$i,"val1"); 
echo "<tr><td>$val</td><td>$val1</td></tr>"; 
} 
} 
echo "<tr><td>"; 
//设置向前翻页的跳转 
$prve=$start-$limit; 
if ($prve>=0) { 
echo "<a href=page.php?start=$prve>prve</a>"; 
} 
//设置向后翻页的跳转 
$next=$start+$limit; 
if ($next<$num_max) { 
echo "<a href=page.php?start=$next>next</a>"; 
} 
echo "</td></tr></table>"; 
?>
로그인 후 복사
앞뒤로 뒤집기 기능이 있는 프로그램이 완성되었지만 표시할 데이터를 더 많이 처리할 때 이 기능은 매우 번거로울 것입니다. 아래에서 계속 소개하겠습니다. 더 강력하고 복잡한 페이지 넘기기 기능 - 루프 페이지 넘기기(더 적절한 이름을 찾을 수 없어서 항상 이렇게 부릅니다.)간단한 페이지 넘기기 기능 구현이 소개되었습니다. 이전 및 아래에 소개된 페이지 넘김 기능은 이 사이트의 특별 포럼 및 특별 기사에서 이 루프 페이지 넘김 기능을 사용하여 더욱 강력하고 복잡해졌습니다.

루프 페이지 넘김은 플러스 숫자를 통해 이루어집니다. 구체적인 표현은 다음과 같습니다.



페이지: prve <<1 2 3 4 ....... 20 >> next
안의 숫자는 각 현재 페이지를 나타내며 앞으로 prve와 뒤로 next는 현재 페이지의 경우 앞면과 뒷면을 뒤집습니다. 그러나 더 복잡한 디지털 제어 방식으로 앞면과 뒷면을 뒤집습니다. 늘 그렇듯이 프로그래밍을 진행하기 전에 먼저 아이디어를 명확히 하시기 바랍니다. 여기에서 연구한 방법과 아이디어 중 일부는 상대적으로 추상적일 수 있으므로 페이지 넘김 기능 구현 방법을 읽은 후 독자가 직접 연습해 보시기 바랍니다.
우선 데이터베이스에 1,000개가 넘는 레코드가 있다고 과감하게 가정하겠습니다. 현재 25개의 레코드를 표시하려고 하며 숫자 뒤집기 컨트롤이 20이므로 표시 결과는 다음과 같습니다.


페이지: 0 1 2 3... ...... 19 >> next
뒤집은 후 표시되는 결과:
페이지: prve <<20 27 28 ....... 49 >> ; 다음
규칙을 살펴보겠습니다. 고정된 표시 숫자는 25이고, 고정된 숫자는 20씩 두 배가 됩니다. 이 두 숫자를 사용하여 페이지 넘김 기능을 구현할 수 있습니다. 먼저 고정 표시 변수를 설정합니다. : $limit=20;
데이터베이스 초기 변수 설정:
$start=0;

데이터베이스 레코드의 총 개수:

$num;

페이지 번호 변수:$page;

페이지를 표시하는 프로그램 숫자 루프는 다음과 같습니다.

<? 
... 
$result=mysql_query("select * from table"); 
$num=mysql_numrows($result); 
for ($page=0;$page<($num/$limit);$page++) { 
echo $page; 

if ($page>0 && ($page%20)==0) { 
break; //退出循环 
} 
} 
?>
로그인 후 복사

이 코드에는 숫자를 표시하는 것 외에는 다른 기능이 없습니다. 뒤집기를 제어하는 ​​숫자가 더 많기 때문에 이러한 제어 수량을 표시하고 식별하려면 $s를 사용하여 표시해야 합니다. 여기에서 이 변수는 디지털 주기 페이지 넘기기를 제어하는 ​​데 사용됩니다. 이제 주기 페이지 넘기기를 구현하는 전체 코드 page.php를 볼 수 있습니다.
<? 
$limit=25; 
if (!emptyempty($start)) $start=0; 
if (!emptyempty($s)) $s=0; 
mysql_connect("localhost","",""); 
mysql_select_db(database); 
//统计数据库记录总数 
$result=mysql_query("select * from table"); 
$num=mysql_numrows($result); 
$result=mysql_query("select * from table order by id limit $start,$limit"); 
$numb=mysql_numrows($result); 
echo "<table>"; 
if (!emptyempty($numb)) { 
for($i=0;$i<$numb;$i++) { 
$val=mysql_result($result,$i,"val"); 
$val1=mysql_result($result,$i,"val1"); 
echo "<tr><td>$val</td><td>$val1</td></tr>"; 
} 
} 
echo "</table>"; 
//数字循环翻页的控制 
echo "<table>"; 
echo "<tr><td>页:</td>"; 
//前翻控制 
if ($s>20) { 
if ($s==21) { 
$st=$s-21; 
} else { 
$st=$s-20; 
} 
$pstart=$st*$limit; 
echo "<td><a href=page.php?"; 
echo "start=$pstart&s=$st>prve</a></td>"; 
} 
echo "<td> >></td>"; 
//设置当前页对应页数无链接功能 
$star=$start; 
//注意循环的初始附值,仔细想想为什么不是 0 
for ($page=$s;$page<($num/$limit);$page++) { 
$start=$page*$limit; 
echo "<td>"; 
if($page!=$star/$limit) { 
echo "<a href=page.php?"; 
echo "start=$start&s=$s>"; 
} 
echo $page; 
if($page!=$star/$limit) { 
echo "</a>"; 
} 
echo "</td>"; 
//控制数字页面限制显示功能,控制只显示 20 页 
if ($page>0 && ($page%20)==0) { 
if ($s==0) { 
$s=$s+21; 
} else { 
$s=$s+20; 
} 
$start=$start+$limit; 
if ((($num/$limit)-1)>$page) { 
echo "<td> <<</td><td><a href&#39;page.php?"; 
echo "start=$start&s=$s>next</a></td>"; 
} 
//注意跳出循环的控制 
break; 
} 
} 
echo "</tr></table>"; 
?>
로그인 후 복사
페이지 넘기기를 제출하는 페이지 넘기기 기능도 있습니다. , 제출 양식에 데이터 제출을 추가하면 프로그램이 해당 페이지로 이동합니다. 이 기능은 구현하기가 비교적 간단하며 완료하는 것은 독자의 몫입니다.

요약: 위 내용이 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

PHP에서 계층 트리 확장을 재귀적으로 구현하는 방법

PHP 배열 함수 array_multisort()의 사용 및 예제 분석

PHP 함수 import_request_variables()의 사용 및 예제 분석

위 내용은 PHP에서 두 페이지 넘기기 표시 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿