<?php
$dbconn=mysqli_connect(~);
$block_per_page=10;
$page_per_record=1;
@$page=$_REQUEST['page'];
if( !intval($page) || $page == false || $page == null) { $page=1; }
else { $page=preg_replace('#[^0-9]#','',$_REQUEST['page']);}
$tab=preg_replace('/[^a-z0-9]/','',$_GET['tab']);
$count_check="select count(table_number) as total_pst from board where table_id like '$tab'";
$sql_query=mysqli_query($dbconn,$count_check);
$total_record=mysqli_fetch_assoc($sql_query);
$sql_cnt=stripslashes($total_record['total_pst']);
$total_page=ceil($sql_cnt/ $page_per_record);
$total_block=ceil($total_page / $block_per_page);
$now_block=ceil($page/$block_per_page);
$start_record=intval(($page -1) * $page_per_record);
if($start_record < 1) { $start_record=0;}
else {$start_record=$start_record;}
$start_page=intval(($now_block -1) * $block_per_page)+1;
$end_page=intval($start_page + $block_per_page)-1;
if($end_page >= $total_page) {$end_page == $total_page;}
$info_sql="select * from board where table_id like '$tab' limit $start_record, $page_per_record";
$info_result = mysqli_query($dbconn,$info_sql);
while($tab_data=mysqli_fetch_assoc($info_result) ) {
}
----------------------
$next_page=$page+1;
$prev_page=$page-1;
----------------------
+-뻔할 단어니 그냥 1씩 더하고 빼고
if($page == 1 || $total_page <= 1) {/*1page only*/}
if($page > 1 ) {
if($page < $total_page) {}
else if($page <= $total_page) {
echo "<span id=btn_span ><a href=?tab=$tab&page=1>[First]</a></span>";}
else if(($page <= $total_page) && ($page <= 1)) { }
else {}
}
if($start_page <= $total_page){
if(($start_page <=1) ) {}
else{echo "<span id=btn_span><a href=?tab=$tab&page=$prev_page>[Prev]</a></span>";}}
for($i=$start_page;$i<=$end_page;$i++) {
if($i > $total_page ) {}
else if($i <= $total_page) {echo "<span id=btn_span><a href=?tab=$tab&page=$i>[$i]</a></span>";}
else {}
}
if(($next_page <$total_page) ) { echo "<span id=btn_span><a href=?tab=$tab&page=$next_page>[Next]</a></span>";}
else{}
if($total_page >$page) {echo "<span id=btn_span><a href=?tab=$tab&page=$total_page>[Last]</a></span>";}
else{}
?>
댓글 7개
데이터는 않나오고 페이징 숫자는 무한 진행 가능하고. 설마 이 버그를 모르시는 건?
아 / 니 / 겠 / 죠 ?
총 페이지가 100개고
갯수도 10
블록을 10개로 하고..
브레이크 잡는 소스를 않넣으면....
최대 페이지가 10페이지인데.. 계속 진행됩니다 11페이지 12페이지 13페이지 ~~~
경험을 해보지 않으셔서 그렇지요.
이유는 단 하나 : 페이징 진행 숫자
예 PageNo=10 이 마지막이라고 하면.. 그 이상의 숫자를 URL에 바꿔 입력해보고
테스트 해보질 않았다면 그 사이트는 페이징 때문에 해킹당합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 17591 |
node.js
노드로 멀티스레드 기능 구현하기
2
|
| 17590 | |
| 17589 |
PHP
PHP로 인쇄명령주기
1
|
| 17588 |
JavaScript
Javascript로 JSON데이터를 보기좋게 만들기
|
| 17587 | |
| 17584 | |
| 17583 |
MySQL
MySQL과 PostgreSQL의 우단점
|
| 17582 |
MySQL
프로시저 cursor 사용 예
|
| 17581 |
JavaScript
바닐라 ajax 파일업로드 예제
|
| 17579 | |
| 17577 | |
| 17575 | |
| 17574 | |
| 17573 | |
| 17572 | |
| 17569 | |
| 17564 | |
| 17560 | |
| 17559 |
MySQL
프로시저 기본편
|
| 17555 | |
| 17554 | |
| 17553 | |
| 17552 | |
| 17549 | |
| 17548 | |
| 17547 | |
| 17542 | |
| 17533 | |
| 17531 | |
| 17524 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기