latest로 지정된 게시판에서만 최신글을 받고자 합니다.

latest로 지정된 게시판에서만 최신글을 받고자 합니다.

QA

latest로 지정된 게시판에서만 최신글을 받고자 합니다.

본문

latest.jpg
 
위와 같은 페이지를 제작중인데요.
게시판은 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++) {
    // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
    // 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
    // 사용방법
    // 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;
if ($skin_dir)
$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);
for ($i=0; $board=sql_fetch_array($result); $i++)
{
    $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];
    $list[$i][bo_subject] = $board[bo_subject];
}
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
 
 
출력은
<?=latest_multi('최신글스킨명', 게시판테이블명1,게시판테이블명2,게시판테이블명3,게시판테이블명4, 출력수,제목짤림수)  ?>
아 난 왜 이해가 안되는지

class라는 게시판그룹 내에 class_001~004까지 게시판이 4개가 있습니다.
각 게시판별로 각각 게시물이 올라오겠죠. 메인화면의 class부분에서 latest 함수로 이 4개 게시판의 최신 게시물을 동시에 받는다는 겁니다.

지금 저 상태에서는
<class>
[class_001]
최신게시물1
최신게시물2
...
[class_002]
최신게시물1
최신게시물2
...
[class_003]
최신게시물1
최신게시물2
...
하는 식으로 보여지게 되는데 이런 형태가 아니라 게시판 구분 없이 게시물이 올라온 시간에 따라서만 정렬하고 싶습니다. 예를 들면

<class>
[class_003]최신게시물1
[class_001]최신게시물1
[class_001]최신게시물2
[class_002]최신게시물1
[class_003]최신게시물2
[class_002]최신게시물2
....

이런 식으로요.

답변을 작성하시기 전에 로그인 해주세요.
전체 10,633
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT