기록해! 정리해!

HTML -- 성적조회프로그램 Ver1.0 (4) 본문

Visual studio (PHP)

HTML -- 성적조회프로그램 Ver1.0 (4)

zsuling 2022. 6. 23. 12:33

06/23

 

이전에 하던 거 전부 0622 폴더에 넣어두고

새 파일 index 생성

 

div p : div 안에 들어있는 p에 영향을 미치는 것

div, p ; div or p 라는 뜻 

( , = or )

 

º  복습

index.php

<html>
<head>
<title> 성적처리 프로그램 </title>
<style>
header{
    background-color:blue;
    height: 63px;
    line-height: 63px; 
    color: #ffffff;
    font-size:28px;
    text-align:center;
}
nav{
    background-color:#00aaff;
    height: 30px;
    line-height: 30px;
    color: #ffffff;
    font-size:14px;
}
section{
    background-color:#cccccc;
    min-height:530px;
}
footer{
    background-color:blue;
    height: 45px;
    line-height: 45px; 
    color: #ffffff;
    font-size:16px;
    text-align:center;
}
#body{
    width: 90%;
    margin:auto;
}
  a:link, a:visited
  {
    color: #ffffff;
    text-decoration: none;
  }
  a:hover, a:active{
    color:#000000;
    text-decoration-line: underline;
  }
</style>
</head>
<body>
    <div id="body">
      <header> 학생 성적처리 프로그램 Ver.1.11 </header>
      <nav> 
        &emsp;&emsp;&emsp; 
        <a href=#>학생등록</a>&emsp;
        <a href=#>학생목록/수정</a> &emsp; 
        <a href=insert.php>빅데이터추가</a> &emsp; 
        <a href=list1.php>페이지나누기1</a> &emsp; 
        <a href=list2.php>페이지나누기2</a> &emsp; 
        <a href=index.php>홈으로</a> 
        </nav>
      <section>  
        <br><br>
        <div align=center><font size=4>
           <b>학생 목록 보기 2</b>
        </font></div>
        <div>
        <br>
      
        </div>    
        <br>
     </section>
      <footer> HRDKOREA Copyrightⓒ2022 ALL rights reserved Development Services of Korea
         </footer>
    </div>
</body>
</html>

insert.php / list1.php / list2.php 생성하고 index.php 복붙하기

그러면 section 내용만 바꾸면 됨.

 

insert.php

 

1)

-1.mysql연결해주기(DBconn)

 $conn = new mysqli("localhost","root","autoset","korea");

-2. SQL insert 

-3. $conn -> query($SQL);

-4. $conn -> close();

 

테이블 생성

Create table board2 (

idx int not null auto_increment primary key,

name varchar(10) not null,

age varchar(50) not null,

title varchar(100), 

etc varchar(200)

);

 

2) 난수 생성 : mt

     배열 : 변수를 여러개 만들어야하는데 하나로 만드는 것 ( 변수의 이름을 줄여주는 것 )

               배열에서는 형이 같아야한다 (파이썬은 아님)

 

         $nameRand1 = mt_rand(0,4);
         $nameRand2 = mt_rand(0,4);
         $name1 = array('하니','똘이','영심이','만수','지효');
         $name2 = array('하나','둘','셋','넷','다섯');        
         
         $titleRand1 = mt_rand(0,4);
         $titleRand2 = mt_rand(0,4);
         $title1 = array('ASP','JSP','PHP','JAVA','C#');
         $title2 = array('초급','중급','고급','심화','실무');

         $etcRand1 = mt_rand(0,6);
         $etcRand2 = mt_rand(0,4);
         $etc1 = array('서울','경기','강원','제주','대전','울릉도','독도');
         $etc2 = array('산','바다','강','하늘','땅');

         $name = $name1[$nameRand1].$name2[$nameRand2]; --띄우지않고 붙히기
         $age=mt_rand(11, 19);  --나이같은 경우는 굳이 배열 안만들고 이렇게 적어서 11~19까지 나타낼 수 있다
         $title= $title1[$titleRand1]." ".$title2[$titleRand2];
         $etc= $etc1[$etcRand1]." ".$etc2[$etcRand2];

         $conn = new mysqli("localhost","root","autoset","korea");
         $SQL = "insert into board2 (name, age, title, etc )";
         $SQL = $SQL . " values ('$name','$age','$title','$etc' ) ";
         $conn -> query($SQL);

         $conn -> close();

 

3) for 문

          for($i=1 ; $i <= 94 ; $i++ ){

           .

           .

           .

 

           $conn -> query($SQL);
           echo $i . "&nbsp;" ; --$i 를 찍어서 몇개 들어왔는지 체크하기
           $conn -> close();

 

4) 20개씩 줄바꿈 하기

 if ($i % 20 == 0) {
        echo "<br>" ;
     } 
     ?>
        <?=$i?> &nbsp; 
     <?
     $conn-> close();
    }
   ?>


5)  34개로 바꿔주기 $i <= 34 ;

 

 

list1.php

 

<html>
<head>
<title> 성적처리 프로그램 </title>
<style>
header{
    background-color:blue;
    height: 63px;
    line-height: 63px; 
    color: #ffffff;
    font-size:28px;
    text-align:center;
}
nav{
    background-color:#00aaff;
    height: 30px;
    line-height: 30px;
    color: #ffffff;
    font-size:14px;
}
section{
    background-color:#cccccc;
    min-height:530px;
}
footer{
    background-color:blue;
    height: 45px;
    line-height: 45px; 
    color: #ffffff;
    font-size:16px;
    text-align:center;
}
#body{
    width: 90%;
    margin:auto;
}
  a:link, a:visited
  {
    color: #ffffff;
    text-decoration: none;
  }
  a:hover, a:active{
    color:#000000;
    text-decoration-line: underline;
  }
</style>
</head>
<body>
    <div id="body">
      <header> 학생 성적처리 프로그램 Ver.1.11 </header>
      <nav> 
        &emsp;&emsp;&emsp; 
        <a href=#>학생등록</a>&emsp;
        <a href=#>학생목록/수정</a> &emsp; 
        <a href=insert.php>빅데이터추가</a> &emsp; 
        <a href=list1.php>페이지나누기1</a> &emsp; 
        <a href=list2.php>페이지나누기2</a> &emsp; 
        <a href=index.php>홈으로</a> 
        </nav>
      <section>  
        <br><br>
        <div align=center><font size=4>
           <b>학생 목록 보기 1</b>
        </font></div>
        <div align=center>
        <br>
         <?
        $conn = new mysqli("localhost","root","autoset","korea");
        $SQL = "select idx, name, age, title from board2 order by idx desc limit 0, 10";
        $result = $conn -> query($SQL);
        $conn -> close();
         ?>
         <table border=1 width=500px>
          <tr> 
            <td>순번</td><td>번호</td><td>이름</td>
            <td>나이</td><td>제목</td> 
          </tr>
          <?
                $i = 0;

                // $row = $result -> fetch_assoc() : 컬럼명으로만 출력가능
                // $row = mysql_fetch_row($result) : 순서로만 출력가능
                // $row = $result -> fetch_array() : 컬럼명과 순서 모두 가능
                while ($row = $result -> fetch_array()) {
                $i ++ ;
          ?>
          <tr> 
            <td><?=$i ?></td>
            <td><?=$row["idx"] ?></td>
            <td><?=$row["name"] ?></td>
            <td><?=$row["age"] ?></td>
            <td><?=$row["title"] ?></td> 
          </tr>
          <? } ?>
            </table>
        </div>    
        <br>
     </section>
      <footer> HRDKOREA Copyrightⓒ2022 ALL rights reserved Development Services of Korea
         </footer>
    </div>
</body>
</html>

검색창 만들기

<html>
<head>
<title> 성적처리 프로그램 </title>
<style>
header{
    background-color:blue;
    height: 63px;
    line-height: 63px; 
    color: #ffffff;
    font-size:28px;
    text-align:center;
}
nav{
    background-color:#00aaff;
    height: 30px;
    line-height: 30px;
    color: #ffffff;
    font-size:14px;
}
section{
    background-color:#cccccc;
    min-height:530px;
}
footer{
    background-color:blue;
    height: 45px;
    line-height: 45px; 
    color: #ffffff;
    font-size:16px;
    text-align:center;
}
#body{
    width: 90%;
    margin:auto;
}
  a:link, a:visited
  {
    color: #ffffff;
    text-decoration: none;
  }
  a:hover, a:active{
    color:#000000;
    text-decoration-line: underline;
  }
</style>
</head>
<body>
    <div id="body">
      <header> 학생 성적처리 프로그램 Ver.1.11 </header>
      <nav> 
        &emsp;&emsp;&emsp; 
        <a href=#>학생등록</a>&emsp;
        <a href=#>학생목록/수정</a> &emsp; 
        <a href=insert.php>빅데이터추가</a> &emsp; 
        <a href=list1.php>페이지나누기1</a> &emsp; 
        <a href=list2.php>페이지나누기2</a> &emsp; 
        <a href=index.php>홈으로</a> 
        </nav>
      <section>  
        <br><br>
        <div align=center><font size=4>
           <b>학생 목록 보기 1</b>
        </font></div>
        <div align=center>
        <br>
        <?
    $ch1 = $_GET['ch1'];
    $ch2 = $_GET['ch2'];

     $conn = new mysqli("localhost","root","autoset","korea") ;

     $SQL = "select * from board2 " ;
     $SQLEnd = " order  by idx  desc  limit 0, 10 " ;
    
     if ($ch1 == "") {
       $SQL =  $SQL.$SQLEnd ;
     }else if($ch1 == "name") {
       $SQL =  $SQL." where name like '%$ch2%' ".$SQLEnd ;
     }else if($ch1 == "title") {
       $SQL =  $SQL." where title like '%$ch2%' ".$SQLEnd ;
     }
     
     $result = $conn -> query($SQL);
     
   ?>
   <table  border=1  width=500>
   <tr>
       <td>순번</td><td>번호</td><td>이름</td>
       <td>나이</td><td>제목</td> 
   </tr>
   <? 
   $i = 0;
   // $row = $result ->fetch_assoc() : 칼럼명으로만 출력 가능
   // $row = mysqli_fetch_row($result) : 순서로만 출력 가능.
   // $row = $result ->fetch_array() : 순서와 칼럼명 모두 가능.
   while($row = $result ->fetch_array() ) {  
    $i ++ ;
   ?>
   <tr>
   <td><?=$i ?></td>
       <td><?=$row[0] ?></td>
       <td><?=$row['name'] ?></td>
       <td><?=$row['age'] ?></td>
       <td><?=$row["title"] ?></td> 
   </tr>
   <?}?>

   </table>
   <form>
    <select name=ch1>
      <option value=name>이름</option>
      <option value=title>제목</option>
   </select>
   <input  type=text  name=ch2>
   <input  type=submit value="검색하기" >
   </form>
</div> 
<br>   
</section>
<footer> 
   HRDKOREA Copyrightⓒ2022 ALL rights resources Development Service of Korea  
 </footer> 
</div>
</body>
</html>

º 페이지 나누기

 

1) 처음으로 이전 다음 마지막으로 

2) 링크걸기

3) 변수로 페이지 넘어가는 값 정해보기 (ex.10)

$page_size = 10;
    
     if($_GET['idx']==""){
      $idx=0;
     }else{
      $idx=$_GET['idx'];
    }

.

.

$SQLEnd = " order  by idx  desc  limit $idx, $page_size  " ;

.

.

<a href=list1.php?idx=<?=$idx-$page_size?>>이전</a> &emsp;

<a href=list1.php?idx=<?=$idx+$page_size?>>다음</a> &emsp;

 

4)  첫 페이지에서는 이전 안넘어가게 하기

<? if($idx < $page_size){ 
    echo "이전 &emsp;" ;
    }else{ 
   ?>
    <a href=list1.php?idx=<?=$idx-$page_size?>>이전</a> &emsp;
   <? 
    } 

 

5) 처음으로

<a href=list1.php?idx=0>처음으로</a>  &emsp;

 

6) 전체 레코드 수 나타내기 (검색하면 그 레코드의 수가 나오게도)

 $tc_sql = " select count(*) tc from board2 ";

 

.

.

 if ($ch1 == "") {
       $SQL =  $SQL.$SQLEnd ;
       $tc_sql = $tc_sql;
     }else if($ch1 == "name") {
       $SQL =  $SQL." where name like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where name like '%$ch2%' ";
     }else if($ch1 == "title") {
       $SQL =  $SQL." where title like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where title like '%$ch2%' ";
     }

     $tc_result = $conn -> query($tc_sql);
     $tc_row = $tc_result -> fetch_array();
     $result = $conn -> query($SQL);
     
   ?>
   전체레코드수 : <?=$tc_row['tc']?>
   <table  border=1  width=500>

7) 검색창에서 검색하고 이전/다음 누르면 검색된 레코드로 보이기

<a href=list1.php?idx=<?=$idx-$page_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>이전</a> &emsp;

 

8)  전체페이지 / 현재페이지

 $total_page = ceil($tc_row['tc']/$page_size);
 $now_page = ($idx/$page_size) + 1 ;

.

.

전체레코드수 : <?=$tc_row['tc']?> (<?=$now_page?> / <?=$total_page?>)

 

9) 다음, 마지막으로

<? if($now_page == $total_page) {
   ?> 다음 &emsp;
  <? }else{ ?>
    <a href=list1.php?idx=<?=$idx+$page_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>다음</a> &emsp;
  <? } ?>
  <?
  $end_page=($total_page -1) * $page_size ; 
  ?>
  <a href=list1.php?idx=<?=$end_page?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>> 마지막으로 

list1.php

<html>
<head>
<title> 성적처리 프로그램 </title>
<style>
header{
    background-color:blue;
    height: 63px;
    line-height: 63px; 
    color: #ffffff;
    font-size:28px;
    text-align:center;
}
nav{
    background-color:#00aaff;
    height: 30px;
    line-height: 30px;
    color: #ffffff;
    font-size:14px;
}
section{
    background-color:#cccccc;
    min-height:530px;
}
footer{
    background-color:blue;
    height: 45px;
    line-height: 45px; 
    color: #ffffff;
    font-size:16px;
    text-align:center;
}
#body{
    width: 90%;
    margin:auto;
}
  a:link, a:visited
  {
    color: #ffffff;
    text-decoration: none;
  }
  a:hover, a:active{
    color:#000000;
    text-decoration-line: underline;
  }
</style>
</head>
<body>
    <div id="body">
      <header> 학생 성적처리 프로그램 Ver.1.11 </header>
      <nav> 
        &emsp;&emsp;&emsp; 
        <a href=#>학생등록</a>&emsp;
        <a href=#>학생목록/수정</a> &emsp; 
        <a href=insert.php>빅데이터추가</a> &emsp; 
        <a href=list1.php>페이지나누기1</a> &emsp; 
        <a href=list2.php>페이지나누기2</a> &emsp; 
        <a href=index.php>홈으로</a> 
        </nav>
      <section>  
        <br><br>
        <div align=center><font size=4>
           <b>학생 목록 보기 1</b>
        </font></div>
        <div align=center>
        <br>
        <?

    
    $page_size = 10;

     if($_GET['idx']==""){
      $idx=0;
     }else{
      $idx=$_GET['idx'];
    }

    $ch1 = $_GET['ch1'];
    $ch2 = $_GET['ch2'];

     $conn = new mysqli("localhost","root","autoset","korea") ;

     $SQL = " select * from board2 " ;
     $SQLEnd = " order  by idx  desc  limit $idx, $page_size  " ;
     $tc_sql = " select count(*) tc from board2 ";

     if ($ch1 == "") {
       $SQL =  $SQL.$SQLEnd ;
       $tc_sql = $tc_sql;
     }else if($ch1 == "name") {
       $SQL =  $SQL." where name like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where name like '%$ch2%' ";
       
     }else if($ch1 == "title") {
       $SQL =  $SQL." where title like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where title like '%$ch2%' ";
     }

     $tc_result = $conn -> query($tc_sql);
     $tc_row = $tc_result -> fetch_array();
     $result = $conn -> query($SQL);
     
   
     $total_page = ceil($tc_row['tc']/$page_size);
     $now_page = ($idx/$page_size) + 1 ;


   ?>
   전체레코드수 : <?=$tc_row['tc']?> (<?=$now_page?> / <?=$total_page?>)
   <table  border=1  width=500>
   <tr>
       <td>순번</td><td>번호</td><td>이름</td>
       <td>나이</td><td>제목</td> 
   </tr>
   <? 
   $i = 0;
   // $row = $result ->fetch_assoc() : 칼럼명으로만 출력 가능
   // $row = mysqli_fetch_row($result) : 순서로만 출력 가능.
   // $row = $result ->fetch_array() : 순서와 칼럼명 모두 가능.
   while($row = $result ->fetch_array() ) {  
    $i ++ ;
   ?>
   <tr>
   <td><?=$i ?></td>
       <td><?=$row[0] ?></td>
       <td><?=$row['name'] ?></td>
       <td><?=$row['age'] ?></td>
       <td><?=$row["title"] ?></td> 
   </tr>
   <?}?>

   </table>
   <form>
    <select name=ch1>
      <option value=name>이름</option>
      <option value=title>제목</option>
   </select>
   <input  type=text  name=ch2>
   <input  type=submit value="검색하기" >
   </form>

   <a href=list1.php?idx=0&ch1=<?=$ch1?>&ch2=<?=$ch2?>>처음으로</a>  &emsp;
   <? if($idx < $page_size){ 
    echo "이전 &emsp;" ;
    }else{ 
   ?>
    <a href=list1.php?idx=<?=$idx-$page_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>이전</a> &emsp;
   <? } ?>
  <? if($now_page == $total_page) {
   ?> 다음 &emsp;
  <? }else{ ?>
    <a href=list1.php?idx=<?=$idx+$page_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>다음</a> &emsp;
  <? } ?>
  <?
  $end_page=($total_page -1) * $page_size ; 
  ?>
  <a href=list1.php?idx=<?=$end_page?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>> 마지막으로 
    
 

</div> 
<br>   
</section>
<footer> 
   HRDKOREA Copyrightⓒ2022 ALL rights resources Development Service of Korea  
 </footer> 
</div>
</body>
</html>

 

list2.php

 

1)  list1.php를 복붙하고 링크 list2로 바꾸기

    기존 '마지막으로' 링크걸은 변수 $end_page를 $end로 바꿔주자

2)  8가지 채우기

 

   &emsp; 1. 페이지 사이즈 <?=$page_size?>
   &emsp; 2. 페이지 List 사이즈 <?=$page_list_size?>
   &emsp; 3. 전체 레코드 수 <?=$tc_row['tc']?>
   &emsp; 4. 총 페이지 수 <?=$total_page?> <br>
   &emsp; 5. 현재 레코드 <?=$idx?>
   &emsp; 6. 현재 페이지 <?=$now_page?>
   &emsp; 7. 하단가로시작 <?=$start_page?>
   &emsp; 8. 하단가로마지막 <?=$end_page?>

 

3) 연산식

     ceil :올림 / floor : 버림

 

     $start_page = floor(($now_page-1) / $page_list_size)* $page_list_size+1;
     $end_page = $start_page + $page_list_size - 1;

 

ex. 1 2 3 4 5 6 7 8 9 10   -> 1 / 10 

      11 12 13 14 15 16 17 18 19 20  -> 11 / 20

       21 22 23 24 25 26 27 28 29 30  -> 21 / 30

 $end_page = 1 + 10 - 1 =10 맞다 !

 $start_page = (23-1)10 * 10 + 1 =21 맞다 ! 

 

4) 하단에 번호 새기기

<?php
for($i = $start_page ; $i <= $end_page ; $i++ ){
    if($i <= $total_page){
   ?>     <?=$i?> 
  <? } 

 } ?>
&emsp;

5) 이전10 , 다음10 만들기

링크가 들어가 있는 건 ch1, ch2 다 받아주기

 

<? if($idx < $page_size){ 
    echo "이전 $page_list_size &emsp;" ;
    }else{ 
   ?>
    <a href=list2.php?idx=<?=($start_page-2)*$page_list_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>이전<?=$page_list_size?></a> &emsp;
   <? } ?>
<?php
for($i = $start_page ; $i <= $end_page ; $i++ ){
    if($i <= $total_page){
   ?>    
   <a href=list2.php?idx=<?=($i-1)*$page_size?>> <?=$i?></a> 
  <? 
  } 
 } ?>
&emsp;
 <? if($now_page == $total_page) {
   ?> 다음 <?$page_list_size?> &emsp;
  <? }else{ ?>
    <a href=list2.php?idx=<?=$end_page*$page_list_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>다음<?=$page_list_size?></a> &emsp;
  <? } ?>

 

 

몰라... now_page에 문제있어서 바꾼대....

 $idx = $idx+1;
 $now_page = ceil($idx/$page_size) ;

 

list2.php

<html>
<head>
<title> 성적처리 프로그램 </title>
<style>
header {
        background-color:blue;
        height:63px;  
        line-height:63px ;
        color:#ffffff;
        font-size:28px;
        text-align:center;
       }
nav {
    background-color:#00aaff;
    height:30px;  
    line-height:30px ;
    color:#ffffff;
    font-size:14px;
    }
section {
         background-color:#cccccc;
         min-height:530px;  
         }
footer {
        background-color:blue;
        height:45px;  
        line-height:45px ;
        color:#ffffff;
        font-size:16px;
        text-align:center;
        }
#body{
   width:90%;
   margin:auto;
} 

a:link, a:visited  
{
    color: #ffffff;
    text-decoration: none;
}
a:hover, a:active{
   color: #000000;
   text-decoration-line: underline;  
}

</style>
</head>
<body>
<div id=body>    
<header> 학생 성적처리 프로그램 Ver.1.11 </header>
<nav> &emsp;&emsp;&emsp; 
      <a href=#>학생등록</a>&emsp;  
      <a href=#>학생목록/수정</a>&emsp;  
      <a href=insert.php>빅데이터추가</a>&emsp;  
      <a href=list1.php>페이지나누기1.</a>&emsp;  
      <a href=list2.php>페이지나누기2.</a>&emsp;  
      <a href=index.php>홈으로 </a></nav>
<section> 
<br><br>    
<div align=center> <font size=4> <b> 학생 목록 보기(2) </b></font>  </div>    
<div  align=center>
   <br> 
   <?
   
    // 1. 페이지사이즈
    $page_size = 10;

    // 2. 페이지 List사이즈
    $page_list_size = 10;

    if ($_GET['idx'] =="") {
     $idx = 0;
    }else {
     $idx =$_GET['idx'];
    } 

    $ch1 = $_GET['ch1'];
    $ch2 = $_GET['ch2'];

    $conn = new mysqli("localhost","root","autoset","korea") ;



    $SQL = " select * from board2 " ;
    $SQLEnd = " order by idx asc limit $idx, $page_size " ;
    $tc_sql = "select count(*) tc from board2" ;

     if ($ch1 == "") {
       $SQL =  $SQL.$SQLEnd ;
       $tc_sql = $tc_sql ;
    }else if($ch1 == "name") {
       $SQL =  $SQL." where name like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where name like '%$ch2%' " ;
     }else if($ch1 == "title") {
       $SQL =  $SQL." where title like '%$ch2%' ".$SQLEnd ;
       $tc_sql = $tc_sql . " where title like '%$ch2%' " ;
     }
    
     $tc_result = $conn -> query($tc_sql);
     $tc_row = $tc_result ->fetch_array() ;
     
     $result = $conn -> query($SQL);
    
    // 3. 전체레코드 수 
    $tc= $tc_row['tc']; 

    // 4. 총페이지 수 
    $total_page = ceil( $tc / $page_size);

    // 5. 현재레코드 
    $idx= $idx + 1; 

    // 6. 현재페이지
    $now_page = ceil($idx / $page_size )  ;
    
    // 7. 하단가로 시작
    $start_page =  floor(($now_page- 1) / $page_list_size) *  $page_list_size + 1 ;
   
    // 8. 하단가로 마지막
    $end_page = $start_page + $page_list_size - 1 ;

   ?>
   &emsp; 1. 페이지사이즈 <?=$page_size?>
   &emsp; 2. 페이지 List사이즈 <?=$page_list_size?>
   &emsp; 3. 전체레코드 수<?=$tc ?>
   &emsp; 4. 총페이지 수 <?=$total_page?><br> 
   &emsp; 5. 현재레코드 <?=$idx?>
   &emsp; 6. 현재페이지<?=$now_page?>
   &emsp; 7. 하단가로 시작 <?=$start_page?>
   &emsp; 8. 하단가로 마지막 <?=$end_page ?>

   <table  border=1  width=500>
   <tr>
       <td>순번</td><td>번호</td><td>이름</td>
       <td>나이</td><td>제목</td> 
   </tr>
   <? 
   $i = 0;
   // $row = $result ->fetch_assoc() : 칼럼명으로만 출력 가능
   // $row = mysqli_fetch_row($result) : 순서로만 출력 가능.
   // $row = $result ->fetch_array() : 순서와 칼럼명 모두 가능.
   while($row = $result ->fetch_array() ) {  
    $i ++ ;
   ?>
   <tr>
   <td><?=$i ?></td>
       <td><?=$row[0] ?></td>
       <td><?=$row['name'] ?></td>
       <td><?=$row['age'] ?></td>
       <td><?=$row["title"] ?></td> 
   </tr>
   <?}?>

   </table>
   <form>
    <select name=ch1>
      <option value=name>이름</option>
      <option value=title>제목</option>
   </select>
   <input  type=text  name=ch2>
   <input  type=submit value="검색하기" >
   </form>

   <a href=list2.php?idx=0&ch1=<?=$ch1?>&ch2=<?=$ch2?>>처음</a> &emsp;
  
  <? 
   if($idx == 1) {
     echo "이전 $page_list_size &emsp;" ;
   } else {
   ?> 
   <a href=list2.php?idx=<?=($start_page-2)*$page_list_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>이전<?=$page_list_size?></a> &emsp;
   <?
   }
   ?>

   <? 
    for ($i = $start_page ; $i <= $end_page  ; $i++) {
        if ($i <= $total_page) {
     ?>
      <a href=list2.php?idx=<?=($i-1)*$page_size?>> <?=$i?> </a>
     <?
        }
    }
   ?>
   &emsp;
   <? if( $end_page < $total_page ) { ?>
    <a href=list2.php?idx=<?=$end_page*$page_list_size?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>>다음<?=$page_list_size?></a> &emsp;
   <? } else { ?>
    다음<?=$page_list_size?> &emsp;
    <? } ?>
 
   <? 
    $end = ($total_page -1 ) * $page_size ;
   ?>
    <a href=list2.php?idx=<?=$end?>&ch1=<?=$ch1?>&ch2=<?=$ch2?>> 마지막 </a>

</div> 
<br>   
</section>
<footer> HRDKOREA Copyrightⓒ2022 ALL rights resources Development Service of Korea    </footer> 
</div>
</body>
</html>

에휴 모르겟다 ㅅㅍ

Comments