페이지 나누기 > PHP

본문 바로가기
사이트 내 전체검색

PHP

페이지 나누기

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 4,609회 작성일 21-02-09 11:30

본문

################  첫 번째 페이지 나누기.#############
 //게시판 검색어 넣기

<table cellpadding="0" cellspacing="0" width="650">
    <tr>
        <td width="650" align=right>
 <form name=form1 action="<?echo("$PHP_SELF");?>">
  검색어 : <input type=text name="name" value="<? echo("$name") ?>" size=20>  <input type=submit value="조회">
 </form>
        </td>
    </tr>
 </table>
 <?
  if(strlen($name) > 0) { // 검색어가 입력된 경우에만 검색을 한다.
      $where = "where n_subject like '%$name%'";
  }


 //페이지 나누기
$num_per_page = 15;
 $page_per_block =10;

 if(!$page) {
    $page = 1;
 }

 $query = mysql_query("select * from 테이블명 $where order by uid");
 $total_record = mysql_num_rows($query);

 if(!$total_record) {
    $first = 1;
    $last = 0; 
 } else {
    $first = $num_per_page*($page-1);
    $last = $num_per_page*$page;

    $IsNext = $total_record - $last;
    if($IsNext > 0) {
      $last -= 1;
    } else {
      $last = $total_record - 1;
    }     
 }

 $total_page = ceil($total_record/$num_per_page);

 //게시물 반복 시작
             
for($i = $first; $i <= $last; $i++) {
    $n_uid = mysql_result($query,$i,0); 
    $n_subject = mysql_result($query,$i,1);
   
     
    echo("
      <tr>
        <td width=\"50\" bgcolor=\"#E7E7E7\"><p align=center> $n_uid</td>
        <td width=\"500\" bgcolor=\"#E7E7E7\"><p align=left> <a href=\"./view.html?uid=$n_uid&page=$page\">$n_subject</a></td>
       
        <td width=\"50\" bgcolor=\"#E7E7E7\"><p align=center> <a href=modify.html?uid=$n_uid&mode=form>수정</a></td>
        <td width=\"50\" bgcolor=\"#E7E7E7\"><p align=center> <a href=delete.html?uid=$n_uid&mode=form>삭제</a></td>
    </tr>
          ");         
    $mcount--;
    $article_num--;

//게시물 반복 끝
?>


    <!--####게시물 목록 하단의 각 페이지로 직접 이동할 수 있는 페이지링크에 대한 설정.####//-->                   
    <table border="0" width="650">
        <tr>
            <td width="650" align="center">
                <?
                        $total_block = ceil($total_page/$page_per_block);
                        $block = ceil($page/$page_per_block);
                       
                        $first_page = ($block-1)*$page_per_block;
                        $last_page = $block*$page_per_block;
                       
                        if($total_block <= $block) {
                            $last_page = $total_page;
                        }
                       
                        if($block > 1) {
                            $my_page = $first_page;
                            echo("<font size=3><a href=\"$PHP_SELF?page=$my_page\" onMouseOver=\"status='load previous $page_per_block pages';return true;\" onMouseOut=\"status=''\">[이전 ${page_per_block}개]</a></font>");
                        }
                       
                        for($direct_page = $first_page+1; $direct_page <= $last_page; $direct_page++) {
                            if($page == $direct_page) {
                              echo("<font size=3><b>[$direct_page]</b></font>");
                            } else {
                              echo("<font size=3><a href=\"$PHP_SELF?page=$direct_page\" onMouseOver=\"status='jump to page $direct_page';return true;\" onMouseOut=\"status=''\">[$direct_page]</a></font>");
                            }
                        }
                       
                        if($block < $total_block) {
                            $my_page = $last_page+1;
                            echo("<font size=3><a href=\"$PHP_SELF?page=$my_page\" onMouseOver=\"status='load next $page_per_block pages';return true;\" onMouseOut=\"status=''\">[다음 ${page_per_block}개]</a></font>");
                        }
                       
                        if ($page > 1) {
                            $page_num = $page - 1;
                            echo("<a href=\"$PHP_SELF?page=$page_num&keyfield\" onMouseOver=\"status='previous page';return true;\" onMouseOut=\"status=''\"></a>");
                        }
                       
                        //게시물이 다음페이지에도 존재할 경우 다음페이지로 가는 링크를 활성화시킨다.
                        if ($IsNext > 0) {
                            $page_num = $page + 1; 
                            echo("<a href=\"$PHP_SELF?page=$page_num\" onMouseOver=\"status='next page';return true;\" onMouseOut=\"status=''\"></a></td>");
                        }
                        ?> 
            </td>
        </tr>
    </table>

 ################  두 번째 페이지 나누기.#############

 //<!------- 페이징 부분(1) 시작 ---------->
 $scale = 20; //페이지당 나오는 갯수
$page_scale = 10; //바로 이동 가능한 페이지 수

//페이지관련 설정
if(!$start) $start = 0;
 $page = floor($start/($scale*$page_scale));
 //<!------- 페이징 부분(1) 끝 ---------->



        //<!------- 페이징 부분(2) 시작 ---------->
        $total = mysql_affected_rows(); //db에서 쿼리값과 같은 갯수를 알아냄
        $last = floor($total/$scale); //화면 하단 페이지 총 갯수를 구해서 반내림

        if($start) $n = $total - $start; else $n = $total; 

        for($i=$start; $i<$start+$scale; $i++)
        {
                if($i < $total)
                {
                        mysql_data_seek($result, $i);
                        $rows = mysql_fetch_array($result);
                            $value = $rows[0];
                    }
            }
        //<!------- 페이징 부분(2) 끝 ---------->

        //<!------- 페이징 부분(3) 시작 ---------->
        if($total > $scale)
        {
                if($start+1 > $scale*$page_scale)
                {
                        $pre_start = $start - $scale*$page_scale;
                        echo "<a href='$PHP_SELF?status=product&code=order_list&start=$pre_start&prd_num=$prd_num'>◀</a>";
                }
     
                for($vj=0;$vj < $page_scale ; $vj++)
                {
                        $ln=($page * $page_scale + $vj)*$scale;
                        $vk = $page * $page_scale + $vj+1;
       
                        if($ln<$total)
                        {
                                if($ln!=$start) echo " <a href='$PHP_SELF?status=product&code=order_list&start=$ln&prd_num=$prd_num'><font size=2>[$vk]</font></a>";
                                else echo "<font size=2> $vk</font>";
                        }
                }
     
                if($total > (($page+1)*$scale*$page_scale))
                {
                        $n_start=($page+1)*$scale*$page_scale;
                        echo " <a href='$PHP_SELF?status=product&code_order_list&start=$n_start&prd_num=$prd_num'>▶</a>";
                }
        }
       
        //<!------- 페이징 부분(3) 끝 ---------->


 ###############세 번째 페이지 나누기. 강추#############

 //<!------- 페이징 부분(1) 시작 ---------->
 $scale = 20; //페이지당 나오는 갯수
$page_scale = 10; //바로 이동 가능한 페이지 수

//페이지관련 설정
if(!$start) $start = 0;
 $page = floor($start/($scale*$page_scale));
 //<!------- 페이징 부분(1) 끝 ---------->

 //<!------- 페이징 부분(2) 시작 ---------->
 //$total = mysql_affected_rows(); //db에서 쿼리값과 같은 갯수를 알아냄
$total = mysql_num_rows($result); //db에서 쿼리값과 같은 갯수를 알아냄
$last = floor($total/$scale); //화면 하단 페이지 총 갯수를 구해서 반내림

if($start) $n = $total - $start; else $n = $total;     

 $Where2 = " limit $start , $scale"; //키포인트
$result = mysql_query("$sql $Where2");         
 while($row = mysql_fetch_array($result)){
    반복문
}

        if($total > $scale){
            $keyword = urlencode($keyword);
            if($start+1 > $scale*$page_scale){
                $pre_start = floor($start / ($scale*$page_scale)) * ($scale*$page_scale) - $scale;
                echo "<a href='$PHP_SELF?start=$pre_start'>◀</a>";
            }

            for($vj=0;$vj < $page_scale ; $vj++){
                $ln=($page * $page_scale + $vj)*$scale;
                $vk = $page * $page_scale + $vj+1;

                if($ln<$total){
                    if($ln!=$start) {
                        echo " <a href='$PHP_SELF?start=$ln'><font size=2>[$vk]</a>";
                    } else {
                        echo "<font size='2' color='0099CC'><strong> $vk </strong></font>";
                    }   
                }
            }
            if($total > (($page+1)*$scale*$page_scale)) {
                $n_start=($page+1)*$scale*$page_scale;
                echo " <a href='$PHP_SELF?start=$n_start'>▶</a>";
            }
        }

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

  • 게시물이 없습니다.

접속자집계

오늘
2,058
어제
4,039
최대
6,642
전체
830,573
contact : webmaster@beautipia.co.kr
Copyright © beautipia.co.kr. All rights reserved.