이 글은 주로 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;
데이터베이스 레코드의 총 개수:
페이지 번호 변수:$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; //退出循环 } } ?>
<? $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'page.php?"; echo "start=$start&s=$s>next</a></td>"; } //注意跳出循环的控制 break; } } echo "</tr></table>"; ?>
PHP에서 계층 트리 확장을 재귀적으로 구현하는 방법
PHP 배열 함수 array_multisort()의 사용 및 예제 분석
PHP 함수 import_request_variables()의 사용 및 예제 분석
위 내용은 PHP에서 두 페이지 넘기기 표시 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!