PHP와 MySQL을 이용한 게시판 리스트 및 페이징 구현
페이지 정보

본문
그누보드 운영 환경에서 PHP와 MySQL을 활용해 게시판 리스트를 출력하고 페이지 단위로 나누는 페이징 로직을 구현하는 방법을 알아봅니다.
그누보드5 환경의 데이터베이스 연결 방법
그누보드5 환경에서 데이터베이스에 안전하게 연결하려면 mysqli_connect 함수를 사용하되, common.php 파일을 포함하여 G5_MYSQL_HOST 등의 상수를 활용하는 것이 안전합니다.
데이터베이스 연결 시에는 다음과 같은 코드를 활용할 수 있습니다.
그누보드5는 common.php를 포함하면 $g5['connect_db']를 통해 이미 연결된 DB 객체를 사용할 수 있습니다. 별도로 mysqli_connect를 호출할 필요 없이, 그누보드에서 제공하는 $sql_query 함수 등을 활용하는 것이 보안과 설정 유지 측면에서 권장됩니다.
적용 전 주의사항
코드를 적용하기 전에는 반드시 기존 데이터베이스 연결 파일을 백업해야 합니다. 오류 발생 시 백업해둔 파일을 덮어써서 즉시 복구할 수 있습니다.
페이징 시작 위치 계산 및 LIMIT 쿼리 구현 방법
게시판 리스트에서 페이지 단위로 데이터를 효율적으로 추출하기 위해, 현재 페이지 번호와 페이지당 게시물 수를 바탕으로 시작 위치를 계산하고 MySQL의 LIMIT 절에 적용할 수 있습니다.
시작 위치 계산 공식
페이지당 게시물 수($pagemax)와 현재 페이지 번호($page_num)를 곱한 값에서 페이지당 게시물 수를 빼어 시작 라인($start_line)을 구합니다.
$start_line = ($pagemax * $page_num) - $pagemax;
LIMIT 쿼리 작성 예시
계산된 $start_line과 $pagemax를 MySQL LIMIT 절에 대입하여 특정 범위의 데이터만 조회하는 SQL 쿼리를 실행합니다.
$sql = "SELECT * FROM 테이블명 ORDER BY num DESC LIMIT {$start_line}, {$pagemax}";
코드 적용 전후 확인 및 복구 방법
코드를 수정하고 적용하기 전에는 반드시 기존 데이터베이스 연결 파일을 백업해야 합니다. 적용을 마친 후에는 게시판 리스트 하단의 페이지 번호를 클릭하여 데이터가 정상적으로 전환되는지 확인해야 합니다.
오류가 발생했을 때는 사전에 백업해둔 파일을 덮어쓰는 방식으로 즉시 복구할 수 있습니다.
참고자료
기타 참고자료
- 이전글그누보드 구글·네이버 웹마스터 도구 사이트 소유 확인 메타태그 설정 방법 26.09.16
- 다음글그누보드4 태그구름 최신글 스킨 적용 방법 및 호출 코드 사용법 26.09.15
댓글목록
등록된 댓글이 없습니다.