PHP 네트워크 데이터베이스를 프로그래밍할 때 데이터베이스 레코드 결과 표시를 고려하는 것은 불가피합니다. 아름다운 페이지를 표현하고 페이지 로딩 속도를 높이려면 데이터베이스 레코드를 페이지에 표시해야 합니다.
이제 PHP와 완벽하게 통합된 mysql 데이터베이스 레코드의 페이징 표시 예를 여러분과 공유하겠습니다.
mysql 데이터베이스는 xinxiku이고 데이터 테이블은 농담입니다. 해당 정의 SQL 문은 다음과 같습니다.
create table joke(
id int(5) not null auto_increment,
biaoti varchar(40) not null,
neirong text not null,
기본 키(id)
);
필드 설명:
id: 레코드 번호, 자동으로 증가 및 기본 키
biaoti: title
neirong: content
<html>
<head>
<title>페이징 표시 구현 방법</title>
<meta http-equiv=”content-type” content=”text/html″>
<script 언어=”javascript”>
/ * 특정 콘텐츠를 표시하는 팝업 창 정의*/
function popwin(url)
{
window.open(url,"","left=340, top=190, height=280, width=400, resizing=yes, scrollbars = yes, status=no, 도구 모음=no, menubar=no, location=no”)
}
</script>
</head>
<body leftmargin=0 topmargin=0 rightmargin=0 >
<?php
//데이터베이스에 연결
$db =mysql_connect("localhost","root","");
mysql_select_db("xinxiku",$db);
//
각 페이지에 표시되는 레코드 수 설정
$pagesize=15;
총 페이지 수를 기록하고 계산합니다.
$res=mysql_query("select count(*) from joke ”,$db);
$myrow = mysql_fetch_array($res)
;
//총 수를 계산합니다. of page
$pages=intval( $numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
//페이지 번호 설정 여부를 확인합니다.
if (!isset( $page))
$page=1;
//페이지 번호로 이동
if (isset($ys))
if ($ys>$pages)
$page
=$pages
;//레코드 오프셋 계산
;
$offset=$pagesize*($page- 1);
//기록
가져오기
$res=mysql_query("id desc 제한에 따른 농담 순서에서 id,biaoti 선택 $offset,$pagesize" ,$db);
if ($myrow = mysql_fetch_array($res) )
{
$i=0;
?>
<table width=”101%” border=”0″cellspacing=”0″ cellpadding=”0″>
<tr>
<td width= ”5%” bgcolor=”#e1e9fb” ></td>
<td width=”95%” bgcolor=”#e1e9fb”><font color=”#ff6666″ size=”2″>콘텐츠</font>< /td>
</tr>
<?php
do {
$i++;
?>
<tr>
<td width=”5%” bgcolor=”#e6f2ff”><?php echo $i;?></td>
<td width=”95%” bgcolor=”# e6f2ff”><font size="2″>
<a href="javascript:popwin('jokenr.php?id=<?php echo $myrow[0];?>' )" ><?php echo $myrow[ 1];?></a></font></td>
</tr>
<?php
}
while ($myrow = mysql_fetch_array($res));
echo “< /table>” ;
}
//전체 페이지 수 표시
echo "<div align='center'>".$pages." 페이지가 있습니다 (".$page."/".$pages.")<br> ";
//($i =1;$i<$page;$i++)에 대한
페이지 수를 표시합니다
.echo “<a href='fy.php?page=”.$i.”'>페이지 “.$ i .”</a> “;
echo “페이지 ".$page."page";
for ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fy. php?page=".$i."'> 페이지 ".$i."</a> ";
echo "<br>";
//페이지 번호 표시
echo "<form action='fy.php' 메소드 ='post'> ";
//홈 페이지, 이전 페이지, 다음 페이지, 마지막 페이지의 페이지 값 계산
$first=1;
$prev=$page-1;
$next=$page+1;
$last= $페이지;
if ($페이지>1)
{
echo "<a href='fy.php?page=".$first."'>홈페이지</a> ";
echo "<a href='fy.php?page=".$prev."'>이전 . 페이지</a> ";
}
if ($page<$pages)
{
echo "<a href='fy.php?page=".$next."'>다음 페이지</a> ";
echo " < a href='fy.php?page=”.$last.”'>마지막 페이지</a> “;
}
echo “<input type=text name='ys' size='2′ value=”로 이동합니다. $page.">페이지";
echo "<
input type='submit' value='go'>";
echo
"
</div>";
</html>
이전 페이지 1 23 다음 페이지
프로그램 설명:
1. 변수 설명
변수 $page: 현재 표시할 페이지 번호를 저장합니다.
변수 $pages: 총 페이지 수를 저장합니다.
변수 $offset: 현재 페이지 번호의 오프셋을 저장합니다.
변수 $pagesize: 각 페이지에 표시되는 레코드 수를 저장합니다.
2. MySQL 문 설명은
ID 설명 제한 $offset,$pagesize로 농담 순서에서 ID,biaoti를 선택합니다.
제한 절은 select 문에서 반환되는 행 수를 제한하는 데 사용됩니다. Limit의 첫 번째 매개변수는 반환할 첫 번째 행의 오프셋을 지정하고, 두 번째 매개변수는 반환할 최대 행 수인 페이지 크기를 지정합니다.
구현 원리:
프로그램에 페이지 번호 변수 페이지를 전달하고, 레코드를 가져올 때 전달된 페이지 값을 기준으로 초기 레코드 위치 오프셋을 계산한 다음, 각 페이지 페이지 크기에 표시되는 데 필요한 레코드 수를 기준으로 레코드 세트를 얻습니다. 그런 다음 표시하십시오.
프로그램 구현 기능:
프로그램은 두 가지 페이지 표시 방법을 제공합니다(현재 페이지가 세 번째 페이지라고 가정).
1. 모든 페이지 번호를 표시하고 페이지 수에 따라 링크를 제공합니다. 현재 페이지에는 링크가 제공되지 않습니다. 페이지 수가 너무 많지 않을 때 적합합니다. 스타일은 그림 1에 표시되어 있습니다.
/ShowImg.asp?p=/2006-3-29/19430aimagea1.jpg
2. 총 페이지 수를 입력하고, 제공된 홈 페이지, 이전 페이지, 다음 페이지, 마지막 페이지로 페이지를 넘기고 이동합니다. 물론, 현재 페이지가 모든 페이지인 경우에는 홈 페이지와 이전 페이지로의 링크가 제공되지 않습니다. 현재 페이지가 마지막 페이지인 경우, 다음 페이지와 마지막 페이지로의 링크는 제공되지 않습니다.
이전 페이지 1 2 3