반응형
mysql에서 데이터를 페이지별로 표시하는 문구는 limit 5,1이다.5는 검색 시작 위치, 1은 1페이지 표시
따라서 php에서 이전 페이지를 구현하려면 다음 페이지에 데이터 page를 limit에 전송하면 페이지 분할이 가능하다.
세 단계로 이해할 수 있다.
1) 데이터베이스에 접속하여 전면에서 데이터를 표시한다.
2) php에 phage(페이지 번호 값)를 전송하고, 여기서도 해당 범위 내의 페이지 번호를 판단한다: 1 이상 1 이하, 전체 페이지 이하.세다
3) php는 페이지 번호를 획득하고, 판단을 내리고, 해당-+를 조작하여 limit 값을 변경한다.
ps:데이터는 이미 데이터베이스에 구축돼 있는데 여기서 php는 연결만 한다.
먼저 데이터베이스의 정보를 프런트 엔드에 표시하는 방법을 알아야 합니다.
php 파일:
//데이터베이스 연결:
$link = mysqli_connect("localhost","root","123456","test") or die ("오류: 데이터베이스에 연결할 수 없음"); //서버, 사용자 이름, 암호, 라이브러리 이름
mysqli_query($link,"set names 'utf8'"); //출력의 인코딩 방식, 이 구절은 반드시 있어야 한다。
//연결표:
$sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL"; //mysql 문의문
$sqlcount = mysqli_query($link,$sql) or die ("쿼리 실패"); //출력하기.
$info = mysqli_fetch_ array($sqlcount);
while($info){
$result[ ] = $info; //값을 배열로 전송하다
}
mysqli_free_result($info); //조회가 끝나면 테이블을 릴리스합니다
mysqli_close($link); //데이터베이스 닫기
방금 취득한 데이터베이스의 배열을 프런트 엔드에 표시합니다
<table border="1">
<tr>
<td>id</td>
<td>Price</td>
<td>customer</td>
</tr>
<!---php로 데이터 보이기-->
<?php foreach($result as $val) {?>
<tr>
<td><?php echo $val['id'];?></td>
<td><?php echo $val[Price'];?></td>
<td><?php echo $val['customer'];?></td>
</tr>
<?php } ?>
</table>
표의 데이터를 나타낸 후, 그 위에 페이지 나누기를 실현한다.
여기에 한 페이지를 더하고, 다음 페이지를 연결하며, 여기서 판단을 해야 한다.전송된 값은 다음과 같습니다
<!--첫 페이지와 이전 페이지의 조건 보이기-->
<?php if($page > 1) {?>
<a href="?page=1">메인 화면</a>
<a href="?page=<?php echo $prevpage;">이전 페이지</a>
<?php } ?>
<!--다음 페이지와 마지막 페이지 조건 보이기-->
<?php if($page < $ numpages) {?>
<a href="?page=<?php echo $nextpage;?">다음 페이지</a>
<a href="?page=<?php echo $numpages;?>뒷장
<?php } ?>
php에서 데이터베이스에 접속하는 언어를 변경하려면:
//총 레코드 수 가져오기:
$sqls = "SELECT COUNT(*) as totalFROM wordspace where sa_id IS NOT NULL";
$sqlcount = mysqli_query($link,$sqls) od die("쿼리 실패");
$pagecount = mysqli_fetch_array($sqlcount);
$pagecount = $pagecount['total'];
mysqli_free_result($sqlcount); //조회 완료 후 공간 확보
//페이지 수를 받아서, 요구에 부합하는지 여부를 판단하다
$page = intval($_GET['page']);
if($page <=0) {$page= 1;}
elseif($page > $pagecount){ $page = $pagecount; }
//페이지당 표시할 페이지 수 정의:
$pageshow = 5;
$pagesize = ($page-1) * $pageshow;
//총 페이지 수를 계산하다:
$numpages = ceil($pagecount/$pageshow); //위쪽으로 가다듬다;
//표시할 데이터베이스 연결
$sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow";
$sqlinfo = mysqli_query($sql);
$divide = mysqli_fetch_array($sqlinfo)or die("페이징 조회 실패");
while($divide){
$result[ ] = $divide;
}
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo);
musqli_close($link); //마지막으로 데이터베이스를 종료합니다
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
도커 원클릭 Nginx+PHP 환경 구축 (자동 배치 명령 포함) (0) | 2022.07.13 |
---|---|
PHP가 HTTP 요청을 보내는 6가지 방법 (0) | 2022.07.13 |
PHP/HTML 혼서의 네 가지 방식 (0) | 2022.07.13 |
php 502 bad gateway 해결 방법 (0) | 2022.07.13 |
PHP 오류 표시 설정 및 보고 수준 설정 (0) | 2022.07.13 |