그룹최신글문의합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

그룹최신글문의합니다. 정보

그룹최신글문의합니다.

본문

그룹최신글을 조금 개조해서 사용하는데 원하는대로 되지 않네요.
wr_1를 기간제로 사용하고 있습니다.
4개의 최근글이 나오는데 wr_1 날짜 적용된 글만나옵니다.
이글들이 랜덤으로 썩여서 나와야 대는데 게시판순서대로 나오네요 ㅠㅠ
$list= array_slice($list, 1, $rows);  요놈이 문제인거 같기도 하고..
썩기긴 썩기는데 게시판 순서대로 썩여 버려서 4개의 글이면 1번게시판 2번게시판만 섞여서 나오네요..
해결방안이 없을까요



function latest_wr2($skin_dir="", $gr_id, $rows=10, $subject_len=40, $wr="")
{
    global $config;
    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 bo_table from {$g4['board_table']} where gr_id='$gr_id'";


$ress = sql_query($sql);


for($i=0, $ii=0; $board=sql_fetch_array($ress); $ii++)
{

$tmp_write_table = $g4['write_prefix'] . $board['bo_table']; # 게시판 테이블 전체이름



// wr 로 랜덤정렬
if ($wr == "1"){
$sql = " select * from $tmp_write_table where wr_1 > 0 && wr_8 > '$g4[time_ymdhis]' order by rand() limit 0, $rows ";
} else if ($wr == "2"){
        $sql = " select * from $tmp_write_table where wr_2 > 0 && wr_8 > '$g4[time_ymdhis]' order by rand() limit 0, $rows ";
} else if ($wr == "3"){
        $sql = " select * from $tmp_write_table where wr_3 > 0 && wr_8 > '$g4[time_ymdhis]' order by rand() limit 0, $rows ";
} else {
        $sql = " select * from $tmp_write_table where wr_comment > -1 order by wr_id limit 0, $rows ";
}
    //explain($sql);
    $result = sql_query($sql);

for ($i==0; $row=sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

}
$list= array_slice($list, 1, $rows);
 ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}
  • 복사

댓글 전체

두개의 테이블의 조합이 같다면, 테이블 두개를 합쳐서 쿼리를 던지시는 방법을 사용하시는게 어떨까요.

$ress = sql_query($sql);

여기서 bo_table 값을 전체적으로 빼오는것이니 이걸 한번 더 돌려서 조합할 테이블의 값을 만드는 겁니다.

ex) select * from
g4_write_notice, g4_write_board
 where wr_1 > 0 && wr_8 > '$g4[time_ymdhis]' order by rand() limit 0, $rows


테이블 JOIN 쪽을 살펴 보시면 쉽게 해결하실 수 있으리라 생각합니다.
© SIRSOFT
현재 페이지 제일 처음으로