우리 모두는 php+mysql을 사용하여 모든 데이터베이스 정보를 웹 페이지에 표시하는 것이 매우 간단하고 흥미롭다는 것을 알고 있습니다. 데이터베이스 정보가 매우 작을 때 페이지 표시는 여전히 만족스럽지만 데이터베이스 정보가 많을 때는 페이지 표시 상황이 매우 나빠질 것입니다. 현재 페이지의 데이터 수를 표시하는 방법과 동적 뒤집기 기능을 구현하는 방법을 소개합니다.
여기서는 두 가지 페이지 뒤집기 표시 기능의 구현을 소개합니다.
------------------------------------- ----------
먼저 페이지 넘김에 사용되는 데이터베이스 구문을 소개하겠습니다.
mysql_query("select * from table order by id desc");
이 데이터베이스 문은 레코드를 검색하고 이를 역순으로 표시하는 데 사용되지만 그렇게 할 수는 없습니다. 페이지 넘김 기능에서 역할을 하며 다음 확장된 구문은 페이지 넘김의 핵심 기능입니다.
mysql_query("select * from table order by id desclimit $start,$limit")
여기서 $start는 데이터베이스입니다. 검색 시작 라인인 $limit는 $limit 레코드의 시작 라인부터 끝까지 검색하는 것입니다. 이 핵심 기능을 사용하면 페이지 넘김 기능을 시작할 수 있습니다.
------------------------------------- ----------
첫 번째 페이지 넘기기 기능:
여기서 소개하는 기능은 페이지 넘기기 기능 중 가장 간단한 것입니다. 이 사이트의 특집 뉴스 및 다운로드 센터의 페이지 넘기기 기능은
다음
과 같습니다.페이지 넘김 기능:
먼저 현재 페이지에 고정적으로 표시되는 데이터 레코드 수를 결정합니다. $limit 값을 20으로 설정합니다. $limit=20;
데이터베이스 레코드를 표시할 때 첫 번째 레코드부터 시작해야 합니다. 따라서 $start를 여기에서 설정합니다. 초기 값은 0: $start=0
이며 페이지 넘김 기능의 구현은 페이지를 뒤로 넘길 때 $start: $start+를 정기적으로 추가합니다. $limit; 그리고 페이지를 앞으로 넘길 때 $start는 정기적으로 $limit를 뺍니다. $start-$limit;
위의 아이디어로 프로그램 page.php 설계를 시작할 수 있습니다
.
//현재 페이지에 표시되는 숫자를 설정합니다. (이 숫자는 임의로 설정할 수 있습니다.)
$limit=20;
//데이터베이스 검색 시작 기록을 초기화합니다.
if (!empty($start)) $start=0;
mysql_connect("localhost","","");
mysql_select_db(database);
//전체 데이터베이스 레코드 개수 설정
$result=mysql_query("테이블에서 *를 선택하세요");
$num_max=mysql_numrows($result);
$result=mysql_query("ID 설명 제한에 따라 테이블 순서에서 * 선택 $start,$limit);
$num=mysql_numrows($result);
echo "<table><tr><td>페이지 넘김 기능</td></tr>"
if (!empty($num)) {
($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>다음</a>";
}
echo "</td></tr></table>";
?>
앞으로 넘기기 및 뒤로 넘기기 기능이 있는 프로그램이 완성되었습니다. 그러나 이 기능은 더 많은 데이터를 표시하기 위해 처리할 때 매우 번거로울 것입니다. 다음은 계속해서 더 강력하고 복잡한 페이지 넘기기 기능인 페이지 넘기기를 소개합니다. 더 적절한 이름을 찾을 수 없어서 항상 이렇게 불렀습니다.) :)
간단한 페이지 넘기기 기능은 앞서 소개한 바 있습니다. 아래에 소개된 페이지 넘기기 기능은 바로 이것에 대한 매우 강력하고 복잡한 포럼입니다. 사이트 기사는 이 루프 페이지 넘김 기능을 사용합니다.
순환 페이지 넘기기는 숫자와 함께 앞으로 및 뒤로 넘기는 방식으로 구현됩니다. 구체적인 표현은 다음과 같습니다.
page: prve <<1 2 3 4 ....... 20 >>
다음의 숫자는 각 현재 페이지를 나타냅니다. 뒤로 넘기기는 더 이상 현재 페이지를 앞뒤로 넘기는 것이 아니라 디지털 방식으로 제어되는 더욱 복잡한 앞뒤 넘기기입니다.
항상 그렇듯, 프로그램 설계를 진행하기 전에 독자들이 먼저 방법을 이해한 후 읽어 보시기 바랍니다. 반복적으로 페이지를 넘기는 기능은 여기서 연구한 방법과 아이디어 중 일부가 상대적으로 추상적일 수 있으므로 직접 연습할 수 있습니다.
먼저 데이터베이스에 1,000개 이상의 레코드가 있다고 과감하게 가정합니다. 현재 표시되고 플립 컨트롤의 숫자는 20이므로 다음과 같은 표시 결과가 있습니다:
페이지: 0 1 2 3 ......... 19 >>
뒤집기 후 다음 표시 결과:
페이지: prve <<20 27 28 ... .... 49 >> next좋아요
, 규칙을 살펴보겠습니다. 고정된 표시 숫자는 25이고, 고정된 숫자는 20의 두 배를 제어합니다. 우리는 이 두 숫자를 사용하여 페이지 넘김을 구현할 수 있습니다. 함수;
첫 번째 설정 표시된 변수가 수정되었습니다.
$한도=20;
데이터베이스 초기 변수 설정:
$시작=0;
데이터베이스 레코드의 총 개수는 다음과 같습니다: $num;
페이지 번호 변수: $page;
페이지 번호 루프 표시 프로그램은 다음과 같습니다.
<?
...
$result=mysql_query("테이블에서 *를 선택하세요");
$num=mysql_numrows($result);
for ($page=0;$page<($num/$limit);$page++) {
에코 $페이지;
if ($page>0 && ($page%20)==0) {
break; //루프를 종료한다
}
}
?>
숫자 표시를 제외하고 이 코드는 뒤집기를 제어할 숫자가 더 많기 때문에 이러한 제어 수량을 표시하고 식별하기 위해 여러 변수를 사용해야 합니다. 여기서는 이 변수를 사용합니다. 사용 디지털 페이지 넘기기 제어를 제어하기 위해 이제 페이지 넘기기 주기를 구현하는 완전한 코드 page.php를 볼 수 있습니다.
<?
$한도=25;
if (!empty($start)) $start=0;
if (!empty($s)) $s=0;
mysql_connect("localhost","","");
mysql_select_db(database);
//통계적인 전체 데이터베이스 레코드 수
$result=mysql_query("테이블에서 *를 선택하세요");
$num=mysql_numrows($result);
$result=mysql_query("id 제한 $start,$limit에 따라 테이블 순서에서 * 선택");
$numb=mysql_numrows($result);
echo "<테이블>";
if (!empty($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 "<테이블>";
echo "<tr><td>페이지:</td>"
//앞으로 넘기기 컨트롤
만약 ($s>20) {
if ($s==21) {
$st=$s-21;
} 또 다른 {
$st=$s-20;
}
$pstart=$st*$제한;
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) {
에코 "</a>";
}
echo "</td>";
//디지털 페이지 제한 표시 기능을 제어하고, 20페이지만 표시하도록 제어합니다.
if ($page>0 && ($page%20)==0) {
if ($s==0) {
$s=$s+21;
} 또 다른 {
$s=$s+20;
}
$start=$start+$limit;
if ((($num/$limit)-1)>$page) {
echo "<td> <<</td><td><a href'page.php?";
echo "start=$start&s=$s>다음</a></td>";
}
//루프에서 벗어나는 제어에 주의하세요.
부서지다;
}
}
echo "</tr></table>";
?>
위 프로그램은
제출 페이지 넘기기, 즉 제출 양식에 데이터 제출을 추가한 후 해당 페이지로 이동하는 페이지 넘기기 기능도 있습니다. 구현하기가 비교적 쉽습니다. 독자들이 스스로 완성하도록 맡기고 여기서는 소개하지 않겠습니다.