본문 바로가기

기억 저편의 것들/미분류

메인페이지에 새글이 자동으로 뜨게..

- 이 팁을 직잭님에게 바칩니다. -

제로보드4로 만들어진 대부분의 홈페이지는
메인화면의 구성으로, 각각의 게시판별로 추출한 최근게시물목록 및 최근이미지를 보여줍니다.
그와달리, 통합추출한 최근게시물목록 및 최근댓글목록을 헤더에 보여주는 블로그스러운 홈페이지에서 유용할것 같은 내용입니다.

예를들면,, 직잭님의 홈페이지와 같은;; (-무단캡쳐-)





꺼져스킨에서는 게시판 아이디로 접근시 최근에 작성한 게시물을 자동으로 불러오는 기능이 있습니다.
이것을 좀 더 확장하여,(꺼져스킨의 사용여부와 상관없이)
여러개의 게시판에서 작성된 게시물중에서 제일 마지막에 작성한 최근 게시물을 메인페이지에 자동으로 불러오는 기능입니다.

ex1,
<frameset rows="0,*" border="0">
 <frame marginwidth="0" src="top.php" name="top">
 <frame marginwidth="0" src="refresh.php" name="main" scrolling="yes">
</frameset>
위와같이 프레임으로 나누었다면,
메인에 해당하는 파일(refresh.php)의 소스내용을 아래의 소스내용으로 바꿔주시면 됩니다.

ex2,
노프레임으로 구성된 홈페이지라면,
index.html, index.php 또는 main.php 파일의 소스내용을 아래의 소스내용으로 바꿔주시면 됩니다.
물론, 게시판에는 이미 별도의 헤더와 풋터가 각각 지정된 상태이어야 겠죠..


* 소스내용중 굵은파란색 글자 부분만을 자신의 계정에 맞게 수정하세요.

<?
$_zb_url = "http://ggerzer.com/bbs/"; // http://로 시작하는 제로보드 URL경로 (끝에 / 있음!)
$_zb_path = "/home/~~~~~~/bbs/"; // /로 시작하는 제로보드 절대경로 (끝에 / 있음!)
include $_zb_path."outlogin.php";

$board_id = "아이디1,아이디2,아이디3,아이디4"; // 게시판 아이디를 ,로 연결


function cmp ($a, $b) {
    if ($a == $b) return 0;
    return ($a < $b) ? -1 : 1;
}
 $board_id = explode(",", $board_id);
 foreach ($board_id as $id)
 {
  $result = mysql_query("select reg_date,no from zetyx_board_{$id} where is_secret=0 order by reg_date desc limit 1") or error(mysql_error());
  while ($data=mysql_fetch_array($result))
  {
   $ort['reg_date'] = $data['reg_date'];
   $ort['no'] = $data['no'];
   $ort['board_name'] = $id;
   $ory[] = $ort;
  }
 }
 usort ($ory, "cmp");
 
 foreach($ory as $data)
 $setup = mysql_fetch_array(mysql_query("select use_alllist from {$admin_table} where name='{$data['board_name']}'"));
 if($setup[use_alllist]) $view_file="zboard.php"; else $view_file="view.php";
 $id = $data['board_name'];
 $no = $data['no'];

 echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0;URL=".$_zb_url."".$view_file."?id=$id&no=$no\">";

?>