latest로 지정된 게시판에서만 최신글을 받고자 합니다.
본문
위와 같은 페이지를 제작중인데요.
게시판은 6개로 notice와 news는 각각 하나씩의 게시판만 할당되기에
<?
// 최신글
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
// 최신글
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
// 사용방법
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("basic", $row['bo_table'], 10, 70);
echo "<p>\n";
}
?>
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("basic", $row['bo_table'], 10, 70);
echo "<p>\n";
}
?>
에서 echo문만 남기고 $row['bo_table'] 대신 각 게시판 ID값을 넣어서 만들었습니다.
하지만 세번째 class 게시판은 class1~class4의 최신 게시물을 전부 불러와야 하는데요.
아직 웹프 시작한지 일주일밖에 안되서 좀 막막하네요;;
4개의 게시판 구분 없이 게시글을 업로드 시간순으로 정렬하고 class001~004중 어느 게시판에서 왔는지 게시물 제목 앞에 기입하고 싶습니다. 어떻게 해야 할까요? php 책같은거 보고 있는데 영 어렵네요 ㅠㅠ;
답변 3
아 하나의 최신글에 4개의 게시판의 글을 출력한다는거군요......
/lib/latest.lib.php 에 추가하세요.
// 최신글 추출 (다중 테이블)
function latest_multi($skin_dir="", $bo_table1,$bo_table2,$bo_table3,$bo_table4, $rows=10, $subject_len=40, $options="")
{
global $g4;
function latest_multi($skin_dir="", $bo_table1,$bo_table2,$bo_table3,$bo_table4, $rows=10, $subject_len=40, $options="")
{
global $g4;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";
$list = array();
$sql = " select * from $g4[board_new_table] a, $g4[board_table] b
where a.bo_table = b.bo_table
and a.bo_table in('$bo_table1', '$bo_table2', '$bo_table3', '$bo_table4')
and a.wr_id = a.wr_parent
order by a.bn_id desc
limit $rows ";
$result = sql_query($sql);
where a.bo_table = b.bo_table
and a.bo_table in('$bo_table1', '$bo_table2', '$bo_table3', '$bo_table4')
and a.wr_id = a.wr_parent
order by a.bn_id desc
limit $rows ";
$result = sql_query($sql);
for ($i=0; $board=sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $board[bo_table];
{
$tmp_write_table = $g4[write_prefix] . $board[bo_table];
$sql = "select * from $tmp_write_table where wr_id = '$board[wr_id]'";
$result2 = sql_query($sql);
$row2 = sql_fetch_array($result2);
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $board[bo_table];
$result2 = sql_query($sql);
$row2 = sql_fetch_array($result2);
$list[$i] = get_list($row2, $board, $latest_skin_path, $subject_len);
$list[$i][bo_table] = $board[bo_table];
$list[$i][bo_subject] = $board[bo_subject];
}
}
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
}
출력은
<?=latest_multi('최신글스킨명', 게시판테이블명1,게시판테이블명2,게시판테이블명3,게시판테이블명4, 출력수,제목짤림수) ?>
아 난 왜 이해가 안되는지
많은 도움이 되었습니다. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.