MySQL의 데이터베이스에서 데이터를 매김
최대 Bossi가 작성한 기사
우리의 두 PHP의 안내 언어로 설명한 이전 기사에서는, 우리가 이미 본 몇 가지 방법으로 실적이 좋은 조합 PHP / MySQL은.
특히 우리가 이미 DB에서 데이터를 추출하는 방법을 봐왔지만, 우리는 즉, 매우 일반적인 "문제"를 해결하기 위해 "잊혀진"했습니다 : 데이터베이스의 레코드가 특히 많은 경우, 당신은 여러 페이지로 나누 볼 수있는 거지?
(기사는 아래에 계속됩니다 ...)
이 문서에서는 사실, 우리는 데이터베이스의 특정 테이블 내에서 데이터가 많은 양의 매김 만드는 방법을 볼 수 있습니다.
자, 예를 봅시다 : ID, 이름, 전화 번호 및이 테이블 100 레코드로 채워진다고 : 당신이 세 분야에 대해서만 구성되어 일정라는 테이블이 있다고 가정해 :

그러려면, 우리는 정확하게 기록을 선택하는 방법을 많이하고 확인할 수있게 해주는 편리한 네이티브 MySQL의 제한 기능을 사용하십시오. 의 작업 제한을 할려면 두 개의 매개 변수가 필요합니다 : 출발의 기록 및 검색할 레코드의 수를.
실용적인 예제를 보도록하자 :
<?
/ /이 부과 변수를 만들고 어디 레코드의 개수
/ / 각 페이지에 표시하려면
X_pag = $ 5;
/ / 현재 페이지 번호를하십시오.
/ / 일반적으로 당신은 querystring를 사용
$ P = $ _GET [ '페이지'];
$ 페이지가 향상하는 경우 / / 체크 ...
/ /이 ... 그렇지 않으면, 나는 값 1을 할당
경우 ($ P) $ P = 1;
/ / 나는 데이터베이스에 연결
$ Conn = mysql_connect ( "localhost를", "사용자", "비밀 번호");
mysql_select_db ( "db_name", $ conn);
/ /에 행을 세어 mysql_num_rows를 사용하여
테이블 의제에서 / /
$ All_rows = mysql_num_rows (mysql_query ( "의제로부터 ID를 선택"));
/ / 간단한 수학적 연산 호출을 사용
/ / 페이지의 총 수입
$ All_pages = ...에 천장을 만들다 ($ all_rows / $ x_pag);
녹화가 시작있는 / / 계산
$ 우선 = ($ P - 1) * $ x_pag;
/ / 현재 페이지에 대한 레코드를 검색 ...
/ / 첫번째 카운트에서 달러를 제한할 사용하고 최대 $ x_pag위한
루피 $ = mysql_query ( "일정 한도는 $ 우선, $ x_pag에서 선택 *");
번호 = mysql_num_rows ($ RS) $;
경우 ($ 숫자! = 0) {
(; $ X <$ N, $ X + + $ X = 0) {용
$ 행 = mysql_fetch_assoc ($ RS);
"<table> <tr>"를 반향;
"<td>"를 에코.
$ 행 [ 'ID'].
"</ TD>";
"<td>"를 에코.
$ 행 [ '이름'].
"</ TD>";
"<td>"를 에코.
$ 행 [ '휴대 전화'].
"</ TD>";
에코 "</ TR> </ 테이블>";
}
아니면 {}
메아리 "찾을 수 없음 기록!";
}
총 페이지 1 이상입니다 / /면
/ / 몰드 다른 페이지 사이를 앞뒤로 이동하는 링크!
경우 ($ all_pages> 1) {
경우 ($ P> 1) {
"<a href=\"". $_SERVER['PHP_SELF']. "?pag=". ($pag-1). "\">"를 반향;
}
{($ all_pages> $ P) 경우
메아리 "<a href=\"". $_SERVER['PHP_SELF']. "?pag=". ($pag + 1). "\">";
메아리 "다음 페이지 </ a>";
}
}
DB에 연결 / / 폐회
mysql_close ($ conn);
?>
코드는 완벽하게 주석하고, 그러므로, 나는 더 이상 설명이 필요하다고 생각하지 않습니다.






