PHP Legacy

올드하지만 여전히 강력한 PHP! 레거시 코드 최적화, 보안 패치 등에 대한 정보를 나누는 공간입니다.

2025.02.26 11:06

페이징. error 변수 다 때려 잡은 것..[페이징 넘기다 ][쓰기 싫어요? 그럼 다른거 쓰세요.]

  • blueflag 16일 전 2025.02.26 11:06
  • 58
    4


$db=mysqli_connect("localhost","","","");
$block_per_page=;  
$page_per_record=;  
@$page=$_REQUEST['page'];
if( !intval($page) || $page == false || $page == null)  { echo $page=1; }
else {$page=preg_replace('/[^0-9]+$/', '', $_REQUEST['page']);}
$sql_cnt="select * from pages";
$sql_query=mysqli_query($db,$sql_cnt);
$total_record=mysqli_num_rows($sql_query);
$total_page=ceil($total_record/ $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);
$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;}
else {$end_page=intval($start_page + $block_per_page)-1;} 
$info_sql="select * from pages limit $start_record, $page_per_record"; 
$info_result=mysqli_query($db,$info_sql);
while($info=mysqli_fetch_assoc($info_result)) {
$title=stripslashes($info['title']);
echo "$title<BR>"; <- 출력란
}




$next_page=intval($page)+1;
$prev_page=intval($page)-1;
$next_block=$page+$block_per_page;
if($next_block >= $total_page)  { $next_block=$total_page;}
else { $next_block=$page+$block_per_page;}
$prev_block=$page-$block_per_page;
if($prev_block <=1) {$prev_block=1;}
else { echo $prev_block=intval($page)-$block_per_page;}








~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(empty($total_record)   ) {echo "<div class=noneblock>글이 더이상 존재하지 않습니다</div>";}


~~~~~~~~~~~~~~~~~~``


if(($page <= $total_page) && ($page <=1)) {     echo "[(1)page]";}
elseif(($page <= $total_page) && ($page >1)) {    echo " <a href=pages.php?page=1>[(1)page]</a>";}
else {}
if($prev_page <2 ) {}
else {    echo "<a href=pages.php?page=$prev_page> [prev_page]</a>";}
if($prev_block <=1) {}
else {echo " <a href=pages.php?page=$prev_block> [prev_block] </a>";}
for($i=$start_page;$i<=$end_page;$i++) {
if($total_page >= $i) {
    if($i >= 1 && $i <=$total_page) {
        if($page >= $total_page) {}
        else {echo "<a href=pages.php?page=$i> [ $i ]</a>";}
    }
    else {}
}
}
if($page > $total_page) {echo "Page data Over";}
else {}
if(($next_page) <= ($page + $block_per_page)) {
if($next_page <= $total_page)  {
if($page <= $next_page )      {    
if(($next_page <= $total_page) && ($page <= $total_page )) {echo " <a href=pages.php?page=$next_page> [next_page] </a>";} 
else {}
}
if((($next_block && $page <= $total_page) ) ) {
    if($next_block >=$total_page) {}
    else {    echo " <a href=pages.php?page=$next_block> [next_block] </a>"; }
}
else {}
}
else{}
}
if($page <= $total_page ) {
if($total_page == 1) {echo "[Max($total_page)page]";}
else {
    if($page >= $total_page) {echo "[Max($total_page)page]";}
    else {    echo " <a href=pages.php?page=$total_page>[Max($total_page)page]</a>";}
}
}
else {}
?>


상단[페이징 연산]. 일부는 외부 코드 사용. 하단[페이징 출력 연산] 자체 작성 코드와 . 외부 쓴걸 아예 원리 자체를  갈아엎음.



이 게시물에 포함된 라이브러리

[PHP_CONFIG] from - HTTP 요청 시 기본 From 헤더 값
[PHP] stripslashes - 따옴표로 묶인 문자열을 따옴표로 묶지 않음
[PHP] prev - 내부 배열 포인터를 되감기
[PHP] preg_replace - 정규 표현식 검색 및 바꾸기 수행
[PHP] ord - 문자열의 첫 번째 바이트를 0~255 사이의 값으로 변환
[PHP] next - 배열의 내부 포인터를 앞으로 이동합니다.
[PHP] mysqli_connect - mysqli::__construct의 별칭
[PHP] intval - 변수의 정수 값을 가져옵니다.
[PHP] end - 배열의 내부 포인터를 마지막 요소로 설정합니다.
[PHP] empty - 변수가 비어 있는지 확인
[PHP] echo - 하나 이상의 문자열을 출력합니다.
[PHP] ceil - 분수를 반올림합니다
  • profile_image
    blueflag @nodragonhq 

    댓글목록

    profile_image
    blueflag  16일 전

    mis-algo........ 없어진 사이트의 CSS 파일. 다운로드 한 이용자 있다면.. span 볶아서 테스트하면... 디자인 잘 나오겠지만...

    2025-02-26 11:36

    profile_image
    blueflag  16일 전

    이거 잡으려고 시간을 너무 많이 투자했음.

    2025-02-26 11:38

    profile_image
    blueflag  16일 전

    else라는 아니오의 의미...아무것도 하지 말라의 {} 현실로써는 참 씁쓸하다...

    2025-02-26 11:53

    profile_image
    blueflag  16일 전

    else에 else를 만나면.. else 가 else 가 되는 현실(ERROR)[대부분의 경우]

    2025-02-26 11:56

  • PHP Legacy 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6건 / 1 페이지

검색

게시물 검색