티스토리 뷰

지금까지 DB에 저장했으니 DB에서 꺼내 게시물을 출력해주도록 하자.



# 지금까지의 게시판.

현재는 임시로 표를 긁어다가 콘텐츠를 변경하여 제작하였으나, 실제 게시판의 내용을 보여줄 수 있도록 작성해보자.






# DB에서 저장된 데이터를 가져오는 과정.


index.php 에서는 db를 가져다 쓴적이 없기때문에, 메인화면(index.php)에서 저장된 내용을 가져다 쓰기위해선

먼저 db.php 를 include 해주어야한다.


simple_board_post 테이블에서 내용을 가져와야 하므로 SELECT문으로 쿼리를 던져준다.

이때, 게시판은 가장 마지막에 올라온 글이 최상단에 기재되어야하므로, 정렬을 다시해서 작성해준다.(order by no desc).


while문으로 return되는 데이터가 없을때까지 반복문을 돌린다.


1). 사용자 정보 : simple_board_user

- no int auto_increment primary key

- user_id varchar(20) NOT NULL

- user_pw char(50) NOT NULL

- email varchar(30) NOT NULL


2). 게시글 정보 : simple_board_post

- no int auto_increment primary key

- subject varchar(50) NOT NULL

- content text NOT NULL

- date datetime NOT NULL

- filename varchar(256) NOT NULL

- counter int NOT NULL

- user_no int NOT NULL


위와같이 데이터를 집어넣었으므로 simple_board_post 에서는 user name(user_id) 를 가져올수없다.
따라서 SELECT 쿼리를 한번 더 던져서 post의 no를 키로 user에서 user_id를 가져오도록 했다.





# DB에 저장된 데이터가 잘 업로드 되었다.






이번엔 데이터가 10개를 넘어갈 경우, 가져올때 10개씩 끊어서 가져올 수 있도록 하자.

# 기존에 작성해뒀던 부분을 php코드를 넣어 수정하였다.

num_rows로 DB에 저장된 모든 값들을 가져왔고, 10개 단위로 나누기로 하였으므로

10으로 나눠서 몫을 구해주었다. 이때 소수점이 나오게되면 무조건 올림을 하였다(천장함수 ceil(); 사용).

그다음 반복문으로 화면에 나타내줄수 있도록 하였다.

page_num으로 10개단위로 데이터들을 구분하여 나타내었다.


10개 단위로 가져올때는 limit을 SELECT문에 지정해주고 사용하면 된다.
offset은 시작값을 의미한다. 따라서 최초 10개에 대해서는 offset을 따로 지정해 주지 않았고, 
GET으로 넘겨받은 page_num에 값이 할당되었을때 즉, 2부터는 offset을 시작하여 출력하였다.





 - 게시글 삭제 : delete.php

: 본인이 작성한 게시글만 삭제 가능


 - 게시글 수정 : view.php -> update.php

: 본인이 작성한 게시글만 수정 가능


이렇게만 완성하면 된다. 

view.php 즉, 게시물을 확인할 수 있는 페이지를 구현해보자.



# view.php는 write.php와 틀이 비슷하므로 복사해와서 수정하도록하자.



# 이부분이 write.php와 다른 부분이다.


디자인적인 부분이 크므로 자세한 설명은 생략하겠다.


댓글
댓글쓰기 폼
공지사항
Total
290,633
Today
25
Yesterday
32
링크
TAG
more
«   2022/08   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
글 보관함