2026, 새로운 도약을 시작합니다.

게시판 리스트에서 중복은 제거하고 출력 하는 방법 채택완료

게시글마다 wr_1에 데이터가 들어가 있어요..

게시물중에 wr_1의 값이 중복되는 게시물(제목은 다름)은 최근걸로 하나만 출력하고 싶습니다.

어떻게 코드를 만져야 할까요 ㅠㅠ

답변 4개

채택된 답변
+20 포인트

bbs/list.php 에서 뿐만 아니라 어느곳에서 해도 상당히 복잡합니다

대상게시판도 따로 있을 것이고 검색 코드, 하단 페이징 만들기, 전체 게시물수, 공지사항 등

고려사항이 많아서 list.php에 distinct나 group by 넣어서 한줄로 해결될 문제가 아닙니다

===================================

간단한 방법으로는

해당 게시판 스킨 list.skin.php 상단에서

출력할 wr_1에 해당하는 레코드 wr_2에 'OK' 넣는 코드를 만들어서 리스트를 열어본 후 코드삭제

write_update.skin.php 를 만들고

if(!$w){

 1. 신규등록 wr_1값과 같은 기존 wr_1의 wr_2 값 제거 코드

 2. 방금등록한 게시물 wr_2에 'OK' 넣는 코드

}

list.php 상단에서 아래 코드만 추가하면 됩니다

if($bo_table=='대상게시판'){ $sfl='wr_2'; $stx='OK'; }

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

어제밤에 고민하다가 해결을 했어요
균이님 말씀하신거랑 비슷하게 처리했네요.
늦게 보았지만 답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

Copy

이 코드를 응용 하라네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

어디서 사용하시느냐에 따라서 다를듯 합니다.

게시판 리스트에서 하시면 작업이 좀 복잡할듯 하고요.

그외에 출력하시는거라면 distinct 로 중복을 제거하시면 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

초보라서 죄송합니다..ㅠㅠ
bbs/list.php 파일에서 distinct 을 어디에서 줘야할까요..ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

https://github.com/gnuboard/gnuboard5/blob/master/bbs/list.php

에서 SELECT 절에 필드 재 나열, DISTINCT 키워드 또는 GROUP BY 키워드를 추가해 볼수 있는데

문제는 데이터가 많아질수록 성능이 더 떨어집니다.

대안으로는 중복데이터를 주기적으로 삭제하는 스케줄링을 하거나

별도 테이블에 중복데이터가 없도록 따로 관리하는 방법이 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고