2023. 5. 5. 18:57ㆍWEB/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 |