특정게시판의 리스트를 모아서 보여주고 싶습니다.
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
현재 20개의 갤러리 게시판을 운영중에 있습니다.
여기서 10개의 게시판을 선택한 후
리스트 페이지만 gallery.php 형태로 만들어 10개 게시판의 리스트를 모아서 입력순을 불러오고 싶습니다.
방법이 없을까요?
답변 부탁드립니다.
오류 주소 :
현재 20개의 갤러리 게시판을 운영중에 있습니다.
여기서 10개의 게시판을 선택한 후
리스트 페이지만 gallery.php 형태로 만들어 10개 게시판의 리스트를 모아서 입력순을 불러오고 싶습니다.
방법이 없을까요?
답변 부탁드립니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 2개
에서 보시면 특정 그룹으로 게시물을 모을수 있을것입니다.
여길 참고해서 만드시면 될거 같은데요
여러개의 게시판들의 글을 종합적으로 불러다가 리스팅시켰던 적이 있습니다..
그 때 사용한 소스입니다...
좀 복잡해보이긴 합니다만... 대충 훑어보시면 사용법을 아실 수 있을겁니다^^
union이 많이 사용된지라... DB 퍼포먼스 측면에선 어떨지 모르나...
소규모사이트에서 사용한 거라 별 문제 없었는데..
혹시 사용해보시고 성능상의 문제가 된다면 좀 귀띔해주실 수 있나요?
쿼리문 개선작업이 필요할 것 같네요^^
살짝 소스 설명을 덧붙이자면...
DB접속부분은 잘 아실 것이고...
캐릭터셋도... DB캐릭터셋과... html or php파일의 캐릭터셋이 일치하지 않을때라든가..
맞춰주실 때 적절히 변경해주시면 됩니다..
아래의 쿼리문은 각 테이블들을 select함과 동시에 다른 게시판과 union해서 총 10개의 게시물을 뽑아내는 쿼리문입니다...
select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's21' tbl from g4_write_sub21 where wr_is_comment=0
이렇게 떼어놓고 보시면 g4_write_sub21이라는 테이블에서 wr_id, wr_subject, wr_hit, wr_name, wr_datetime을 뽑아 내는거고... 마지막으로 's21' tbl이라는 녀석은 뽑아낸 게시물이 어떤 게시판에서 뽑아낸 것인지를 판별하기 위해 임의로 삽입한 것입니다...
수정하실 부분은... 이미지 path를 포함한 필드명을 넣어주시면 될 것 같구요...
switch문으로 tbl을 판별해서 어떤 게시판에서 뽑혔냐에 따라서... 게시판명을 출력할 수 있게...
처리 해 줍니다...
게시판에 상관없이 이미지만 뿌려주실 거라면 이 부분은 없어도 되구요...^^
하시다가 안되시면 쪽지주세요^^
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
<?
mysql_connect('localhost', 'db아이디', 'db패스워드');
mysql_select_db('db명');
//mysql_query("set names euckr"); 캐릭터셋 세팅이 필요할 시...
$query="select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's21' tbl from g4_write_sub21 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's22' tbl from g4_write_sub22 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's23' tbl from g4_write_sub23 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's24' tbl from g4_write_sub24 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's31' tbl from g4_write_sub31 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's32' tbl from g4_write_sub32 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's33' tbl from g4_write_sub33 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's34' tbl from g4_write_sub34 where wr_is_comment=0 UNION ALL select wr_id, wr_subject, wr_hit, wr_name, wr_datetime, 's41' tbl from g4_write_sub41 where wr_is_comment=0 order by wr_datetime desc limit 0, 10;";
$result=mysql_query($query);
echo "<table width=\"870\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
if(!$result){
echo "<tr><th width=\"466\" height=\"41\" valign='middle' style='font-size:9pt;'>게시물이 없습니다.</th><td width=\"101\"></td><td width=\"102\"></td><td width=\"101\"></td><td width=\"100\"></td></tr>";
}else{
while($r=mysql_fetch_object($result)){
switch($r->tbl){
case 's21':
$r->tbl="[게시판1]";
$table="sub21";
break;
case 's22':
$r->tbl="[게시판2]";
$table="sub22";
break;
case 's23':
$r->tbl="[게시판3]";
$table="sub23";
break;
case 's24':
$r->tbl="[게시판4]";
$table="sub24";
break;
case 's31':
$r->tbl="[게시판5]";
$table="sub31";
break;
case 's32':
$r->tbl="[게시판6]";
$table="sub32";
break;
case 's33':
$r->tbl="[게시판7]";
$table="sub33";
break;
case 's34':
$r->tbl="[게시판8]";
$table="sub34";
break;
case 's41':
$r->tbl="[게시판9]";
$table="sub41";
break;
}
$query2="select wr_parent wr_cmt from g4_write_$table where wr_is_comment=1 and wr_parent=$r->wr_id";
$result2=mysql_query($query2);
$q=mysql_num_rows($result2);
$r->wr_datetime=substr($r->wr_datetime, 0, 10);
echo ("<tr>
<td width=\"466\" height=\"41\" valign='middle' style=\"line-height:1.4em;padding-left:10px;padding-top:1px;\"><a href='bbs/board.php?bo_table=$table&wr_id=$r->wr_id' onfocus='blur();'><strong>$r->tbl</strong><br>$r->wr_subject</a></td>
<td width=\"101\" height=\"41\" align='center' valign='middle'><strong>$r->wr_name</strong></td>
<td width=\"102\" height=\"41\" align='center' valign='middle'>$q</td>
<td width=\"101\" height=\"41\" align='center' valign='middle'>$r->wr_hit</td>
<td width=\"100\" height=\"41\" align='center' valign='middle'>$r->wr_datetime</td>
</tr>");
}
}
echo "</table>";
?>