>  기사  >  백엔드 개발  >  PHP 페이지 점프 기능 구현 방법 예제 코드

PHP 페이지 점프 기능 구현 방법 예제 코드

怪我咯
怪我咯원래의
2017-07-09 09:36:291230검색

이 글에서는 주로 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>"; 
?>

앞뒤로 뒤집기 기능이 있는 프로그램이 완성되었지만 표시할 더 많은 데이터를 처리할 때 이 기능은 매우 번거로울 것입니다. . 아래에서 계속됩니다. 더 강력하고 복잡한 페이지 넘기기 기능을 소개합니다 - 루프 페이지 넘기기(더 적절한 이름을 찾을 수 없기 때문에 항상 이렇게 불렀습니다.)

간단한 페이지 넘기기 기능 구현이 도입되었습니다. 페이지 넘김 기능은 더 강력하고 복잡합니다. 이 사이트의 특별 포럼과 기사에서는 이 순환 페이지 넘김 기능을 사용합니다.
순환 페이지 넘김은 숫자와 함께 앞뒤로 이동하여 수행됩니다. 표현식은 다음과 같습니다.

Page: prve 950430dac9af760a1134fad1a051aae2> next 안의 숫자는 각 현재 페이지를 나타내며 앞으로 prve와 뒤로 next는 단지 현재 페이지 전면 및 후면 플립이지만 더 복잡한 디지털 제어 전면 및 후면 플립입니다.

늘 그렇듯이 프로그래밍을 진행하기 전에 먼저 아이디어를 명확히 하시기 바랍니다. 여기에서 연구한 방법과 아이디어 중 일부는 상대적으로 추상적일 수 있으므로 페이지 넘기기 기능 구현 방법을 읽은 후 독자가 직접 연습해 보시기 바랍니다.

우선 데이터베이스에 1,000개가 넘는 레코드가 있다고 과감히 가정하겠습니다. 현재 25개의 레코드를 표시하려고 하며 숫자 뒤집기 컨트롤이 20이므로 표시 결과는 다음과 같습니다.

페이지: 0 1 2 3... ...... 19 >> next뒤집은 후 표시되는 결과:

페이지: prve 1e0d1f213d563457796f463fe383196b> ; 다음
자, 규칙을 살펴보겠습니다. 고정된 표시 숫자는 25이고, 고정된 숫자는 20씩 두 배가 되는 것을 제어합니다. 이 두 숫자를 사용하여 루프 페이지 넘김 기능을 구현할 수 있습니다. 표시 변수:
$limit=20;


데이터베이스 초기 변수 설정:

$start=0;



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

$num;

페이지 번호 변수:$page;

The 루프에서 페이지 번호를 표시하는 프로그램은 다음과 같습니다.

<? 
... 
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.