[포폴] php로 게시판 만들기3

전예원·2022년 1월 26일
0

PHP, APACHE

목록 보기
14/14

게시물 부분을 구현해보자

get으로 값을 받아와서 출력해주는 방식이다.
처음에는 idx만을 get으로 받아왔었는데
이전글 다음글을 구하기 위해서는 no -> 즉 글번호를 get으로 받아와야했다.
왜냐하면 중간에 글을 삭제해서 idx=1,idx=3,idx=5 이런식으로 데이터 베이스가 되어있는데 idx로 이전글 다음글을 표현하게되면 오류가 데이터가 없어서 오류가 생기기 때문이다.

🍎 쿼리문의 중요성

  • 다양한 부분에서 값을 다 가져와야한다.

  • 현재 idx값의 전체 데이터 부분을 가져와야하고

  • 이전 페이지의 데이터도 가져와야하고

  • 다음 페이지의 데이터도 가져와야한다.

  • 근데 진짜 만약 1,3,4처럼
    내가 있는 페이지 3번 이전페이지 idx는 1번, 다음페이지 idx는 4번 이런식으로 구성되어있으면 idx-1같이 이런식으로는 구할 수 없다.
    그래서 이전 글은 desc를 써서 현재 idx보다 1작은거
    다음글은 asc를 써서 현재 idx보다 1큰거
    이런식으로 쿼리문을 작성해줘서 데이터를 가져왔다.

  • prev의 p , next의 n이다.

🍎 이전 글

  • 만약 글번호가 1번이면 0번글은 없으니까 idx가 비어있으면 이전글이 없습니다이렇게 출력하게끔했다.
  • $no는 현재 글 번호에서 -1만 해줘도 된다. 왜냐하면 글번호니까
  • 글 번호가 왜 필요하냐? 나중에 목록보기 할 때 매우 필요하다.

🍎 다음 글

  • 다음글도 마찬가지로 마지막 페이지글의 다음글은 없으니까 마지막 글의 다음 idx가 비었으면 다음글이 없습니다를 출력해준다. 그 외에는 이전 글과 동일하다 대신 다음글은 +1되는 것이다.

🍎 목록보기

  • 목록보기 만드는게 젤 힘들었다...ㅋㅋ

    코드로는 한문장 밖에 안되지만...ㅠ

  • 목록보는 것은
    만약 내가 28번글을 보고 있다가 목록으로 가고 싶으면 6번 페이지로 나와야하고, 내가 다음글 보고 이전글 왔다갔다 거리면서 보다가 목록으로 나오고 싶으면 그 해당 글번호의 해당 블럭의 페이지로 나와야했다.

그래서 $no를 get으로 받아서 $back_page변수를 만들었다.

  • 이런식인 것이다. 하지만 문제는 내가 10단위의 글번호를 가진 글을 볼 때 생기는 문제였다.
  • 바로 이문제... 이건 is_int로 해결했다.
    만약 정수면 $back_page+1 이렇게 +1해서 보여주게, 아니면 그냥 ceil($back_page); 올림만하기로 삼항연산자로 표현했다~!

😂 솔직히 내가 야매로 한거라서 ㅠㅠ 이렇게 하는건지 잘모르겠지만... 잘 구현되니 만족스럽긴하다...

수학적 접근이라서... 이렇게 다 적으면서 예제도 만들어가면서 했다... 이래서 컴공이 이과라는 것을 새삼스럽게 많이 느꼈다.ㅋㅋㅋ

profile
앞으로 나아가는 중~

0개의 댓글