<?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에 바꿔 입력해보고
테스트 해보질 않았다면 그 사이트는 페이징 때문에 해킹당합니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 17443 | |
| 17442 |
PHP
세션타임아웃기능
|
| 17441 | |
| 17440 | |
| 17438 |
PHP
완벽한 UTF8 지원하기
|
| 17436 | |
| 17435 | |
| 17433 | |
| 17432 | |
| 17430 |
JavaScript
자바스크립트로 ctrl+F기능과 유사한 웹페이지내 문자검색기능 작성
1
|
| 17426 | |
| 17416 | |
| 17413 | |
| 17401 | |
| 17391 | |
| 17379 | |
| 17375 | |
| 17374 | |
| 17362 | |
| 17350 |
JavaScript
지정한 범위내에서 랜덤으로 숫자출력하는 스크립트
3
|
| 17348 |
MySQL
배너 노출 관련 쿼리
4
|
| 17341 |
MySQL
이진 트리 순회... 무한 계층형 트리
2
|
| 17339 | |
| 17335 | |
| 17334 | |
| 17333 | |
| 17332 | |
| 17331 | |
| 17330 | |
| 17329 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기