본문 바로가기

프로그래밍 일반/웹 프로그래밍

[PHP] 게시판 만들기

0. [MySQL]연결

 

<?php

$link = mysqli_connect('localhost', 'root', '1234', 'table_name');

if (!$link) {

    die('Connect Error (' . mysqli_connect_errno() . ') '

            . mysqli_connect_error());

}

$sql = "SELECT * from assetlist";

$result = mysqli_query($link, $sql);

$num_rows = mysqli_num_rows($result);

?>

 

 

1.[default] DB에서 보여줄 테이블의 가로($block)와 세로($list)의 값을 설정해야한다.

 

그림은 아래와 같으며, 가로($block)는 블록의 크기이고, 세로($list)는 보여줄 rows의 수이다.  해당 박스를 기준으로 DB를 total_page와 total_block으로 끼워맞춘다.

$list = 5;
$block = 5;


$total_page = ceil($num_rows / $list);
$total_block = ceil($total_page / $block);

 

2.[page] 페이지를 보여준다. 먼저, $current_page를 기준으로 $s_page와 $e_page를 구한다.

    current_page에서 block에 속한 끝값을 구하면 $e_page이다. 처음값을 구하면 $s_page이다.

    

   끝값을 구하기 위해서 $current_block을 사용한다. 반올림한 상태로 $block값을 구하면 $current_page의 끝값인 $end_page가 된다. $block만큼 빼고 +1을 한다면 $start_page가 된다.

  필요에 따라서 $current_block을 쓰지 않고 다른 방법으로 써도 current_page를 기준으로 start_page와 end_page를 구할 수 있지만 여기서는 끝값인 $block을 기준으로 생성했다.

 

//$current_page = ($_GET['page'])?$_GET['page']:1;
$current_page = 1;
if(isset($_GET['page'])){
  $current_page = $_GET['page'];
}

$current_block = ceil($current_page / $block);
$s_page = ($current_block*$block)-($block) + 1 ;
$e_page = $current_block*$block;
if($total_page <= $e_page ){
  $e_page = $total_page;
}

 

3.  [rows] current_page가 기준점이 되어서 s_point를 뽑아낸다

<?php

$s_point = ($current_page-1)*$list;

$get_sql = "SELECT * from assetlist ORDER BY assetnum DESC LIMIT $s_point, $list;";
$real_data = mysqli_query($link, $get_sql);
$num_rows2 = mysqli_num_rows($real_data);



for($i=1; $i<= $num_rows2; $i++){
    $fetch = mysqli_fetch_array($real_data);

?>


        <tr>
        <td><?= $fetch['AssetNum']?></td>
        <td><?= $fetch['AssetName']?></td>
        <td><?= $fetch['AssetType']?></td>
      <?php
      if($fetch['AssetCheck'] == 'Y'){
        ?><td>보안성 평가 완료</td><?php
      } else if($fetch['AssetCheck'] == 'N') {
        ?>    <td><a href="securityassessment.php?Assetnum=<?=$fetch['AssetNum']?>">보안성 평가 전</a></td>
        <?php
      }
      ?>


        </tr>


<?php

if($fetch == false){
    exit;
    }
}
?>

        <br>
    </table>
</div>

 

테이블값엔 본래 DB값에 따라서 알아서 맞춰서 넣으면 된다.

'프로그래밍 일반 > 웹 프로그래밍' 카테고리의 다른 글

[WEB] JDBC MYSQL 연동하기  (0) 2019.12.09
[JDBC] 동작원리  (0) 2019.12.09