PHP - 게시판 제작 2 - 조회 페이지 제작

2023. 5. 5. 18:57WEB/PHP

전 시간에는 게시판 테이블 설계를 했습니다!

이제 페이지 설계를 해 볼까요?

 

먼저..

1.올라온 게시글을 모두 볼 수 있는 리스트 페이지가 있을것이고

2.게시글을 클릭해서 볼 수 있는 상세정보 페이지가 있을것입니다.

3.회원가입 페이지가 있듯 글 등록 페이지도 있어야하죠! 일단은 이정도면 됬습니다.

 

현재는 하나의 디렉토리에 모든 파일이 다 들어가 있는 형태입니다.

게시글 전용 디렉토리를 만들어봅시다.

 

mkdir명령어를 통해 board를 만들어줍시다!

저는 이미 만들어서 에러가 납니다.

 

일단 게시글은 DB에서 넣을 수 있으니까 

보는것 우선으로 해봅시다.

 

리스트를 출력시켜봅시다.

 

리스트는 정~말 간단쓰합니다.....현재까지는요..ㅋㅋ

select * from board; 하면 모든 게시글을 끌고오니까 넘 편하쥬. 

list.php를 제작해봅시다.

 

일단 저번시간에 개선한 include로 db연결을 마무리 하시고요.

하지만 이번에도 순조롭게 되지 않죠..

연결이 되지 않습니다. 그 이유는 무엇일까요?

 

바로 방금 만든 디렉토리에 정답이 있습니다. connect.php는 기본 경로. 즉 /var/www/html 에 만들어놓았죠.

그래서 같은 디렉토리에서는 전혀 문제가 되지 않았습니다. 하지만 현재 디렉토리는 /var/www/html/board죠? 그렇습니다. board디렉토리에는 connect.php 라는 파일이 없습니다. 따라서 찾지를 못하죠.

 

그렇다면 경로를 /var/www/html/connect.php로 할까요?? 물론 됩니다만.

connect.php는 어디를 가나 다 사용하죠. 그러므로 이 경로를 쓰기에는 너무 귀찮습니다. 또한 connect.php의 경로가 바뀌어버린다면? 또 다시 수정해야하는 번거로움이 있습니다.

 

이를 보완하기 위해 상대경로라는 개념이 있습니다. 

board/list.php에서 상대경로를 사용해봅시다.

<?php include "/var/www/html/connect.php"; ?>

여기에서 상대경로를 사용하면 

<?php include "../connect.php"; ?>

이런식으로 됩니다. (두개의 경로가 똑같은 디렉토리를 바라보고있습니다.)

connect.php에 ../을 붙였죠.

./는 뭘까요? 바로 현재 디렉토리의 기준으로 connect.php를 찾는것입니다.

../는 현재 디렉토리의 상위 디렉토리를 의미합니다.

즉 board에서 ./connect.php는 board/connect.php를 의미하는것이고

board에서 ../connect.php는 board의 상위 디렉토리를 의미하니까 html/connect.php를 의미합니다.

 

정리하자면

절대경로는 최상위 디렉토리를 기준으로 파일을 찾는 것 이고

상대경로는 현재 디렉토리를 기준으로 파일을 찾는 것 이라고 생각하시면 됩니다.

 

이제 상대 경로를 사용해서 connect.php를 불러왔습니다.

 

SQL을 실행해서 결과값을 가져옵시다.

 

<?php include "../connect.php"; ?>
<?php 
$sql = "select * from board";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
        echo $row['bno'];
        echo "<br>";
    }

}
?>

 

잘 나오네요. 

제가 한가지 실수를 했다면, 테이블에 게시판의 제목부분을 넣지 않았습니다. 일단 bno(보드 식별 id)를 제목이라고 생각하고 해 보겠습니다.

 

출력에 대해서 한가지 문제가 있다면 너무 작아보입니다.

제목을 출력하는 것 이니까 글자의 크기를 키워봅시다.

이때는 html의 태그를 이용합니다. h1,h2,h3... 태그가 있습니다. 태그가 높아질수록 크기가 작아집니다.

일단 h2 태그를 씌워봅시다.

 

<?php include "../connect.php"; ?>
<?php 
$sql = "select * from board";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
        echo "<h2>" . $row['bno'] . "</h2>";
    }

}
?>

이렇게 나옵니다. 

다음시간에는 테이블을 수정 해 보겠습니다.

'WEB > PHP' 카테고리의 다른 글

PHP - 게시판 제작 3 - 조회 페이지 제작  (0) 2023.05.05
PHP - 게시판 제작 1 - 테이블 제작  (0) 2023.05.03
PHP - 코드 간결화  (0) 2023.04.22