<?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에 바꿔 입력해보고
테스트 해보질 않았다면 그 사이트는 페이징 때문에 해킹당합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 16893 | |
| 16890 |
PHP
DB 세션 핸들링
2
|
| 16889 | |
| 16888 |
node.js
c++로 만들어진 코드를 바인딩하기
1
|
| 16887 |
node.js
express이용하여 간단하게 api 서버 만들기
1
|
| 16886 | |
| 16885 |
node.js
Mac os에서 nvm + node 설치편
|
| 16884 |
node.js
nvm설치 + nodejs 설치
|
| 16883 | |
| 16882 | |
| 16881 | |
| 16880 | |
| 16871 | |
| 16870 | |
| 16868 |
OS
opendkim 설치
|
| 16863 | |
| 16861 | |
| 16856 | |
| 16852 | |
| 16834 | |
| 16833 | |
| 16829 | |
| 16827 | |
| 16826 | |
| 16823 | |
| 16822 | |
| 16819 | |
| 16818 | |
| 16817 | |
| 16806 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기