특정게시판의 리스트를 모아서 보여주고 싶습니다. 정보
특정게시판의 리스트를 모아서 보여주고 싶습니다.본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
현재 20개의 갤러리 게시판을 운영중에 있습니다.
여기서 10개의 게시판을 선택한 후
리스트 페이지만 gallery.php 형태로 만들어 10개 게시판의 리스트를 모아서 입력순을 불러오고 싶습니다.
방법이 없을까요?
답변 부탁드립니다.
오류 주소 :
현재 20개의 갤러리 게시판을 운영중에 있습니다.
여기서 10개의 게시판을 선택한 후
리스트 페이지만 gallery.php 형태로 만들어 10개 게시판의 리스트를 모아서 입력순을 불러오고 싶습니다.
방법이 없을까요?
답변 부탁드립니다.
댓글 전체
도메인/bbs/new.php
에서 보시면 특정 그룹으로 게시물을 모을수 있을것입니다.
여길 참고해서 만드시면 될거 같은데요
에서 보시면 특정 그룹으로 게시물을 모을수 있을것입니다.
여길 참고해서 만드시면 될거 같은데요

갤러리는 아니지만...
여러개의 게시판들의 글을 종합적으로 불러다가 리스팅시켰던 적이 있습니다..
그 때 사용한 소스입니다...
좀 복잡해보이긴 합니다만... 대충 훑어보시면 사용법을 아실 수 있을겁니다^^
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>";
?>
여러개의 게시판들의 글을 종합적으로 불러다가 리스팅시켰던 적이 있습니다..
그 때 사용한 소스입니다...
좀 복잡해보이긴 합니다만... 대충 훑어보시면 사용법을 아실 수 있을겁니다^^
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>";
?>