게시판별 최신글 추출.. > 그누4 질문답변

그누4 질문답변

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

게시판별 최신글 추출.. 정보

게시판별 최신글 추출..

본문

안녕하세요..
 
몇 일전에 질문을 올렸었는데.. 답변이 없어가지고..
 
다시 질문을... 올려봅니다만..
 
이렇게.. 테이블별로.. 최신글을 추출해볼려고..
 
아래.. 팁에 올라온 소스를 이용해서 적용해봤는데요..
 
제목이.. 출력이 되지를 않습니다.. 목록은 나오는듯 합니다만..
 
뭐가 잘 못된건지.. 한번 훑어봐주셨으면 해서요^^;;;
 
답변 좀 꼭 부탁드리겠습니다..
 
수고하세요.
 
<?
// 전광판 추출
function latest_g($skin_dir="",$rows=10, $subject_len=30)
{
    global $config;
    global $g4;
    if ($skin_dir)
        $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
    else
        $latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
    $list = array();
               //order by 랜덤하게, 필요시 주석풀고 배열에 값 넣어주고 아래 쿼리에 order by 와 how_order삽입할 것
               //$stand=array("","","","","");
               //$rand= time()%count($stand);
               //$how_order="$stand[$rand]"; 

    $sql = " select a.*
             from $g4[board_new_table] a, $g4[board_table] b
             where
            (a.bo_table = 'saseol' or
             a.bo_table = 'kyoyook' or
             a.bo_table = 'moonhwa' or
             a.bo_table = 'kiup' or
             a.bo_table = 'namseo_notice' or
             a.bo_table = 'namseo_activity' or
             a.bo_table = 'dongbuk_notice' or
             a.bo_table = 'dongbuk_activity' ) and
             a.bo_table = b.bo_table
           ";
    $result = sql_query($sql);
    for ($i=0; $row = sql_fetch_array($result); $i++)
    {
        $tmp_write_table = $g4[write_prefix] . $row[bo_table];
        if ($row[wr_id] == $row[wr_parent]) // 원글
        {
         $row2 = sql_fetch(" select wr_subject,wr_id from $tmp_write_table where wr_id = '$row[wr_id]' ");
         $list[$i] = $row2;
         $list[$i][bo_table] = $row[bo_table];
         $list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]";
              $list[$i][wr_subject] = cut_str($row2[wr_subject], $subject_len, "…");
         
        }
 
    }
   
        ob_start();
        include "$latest_skin_path/latest.skin.php";
        $content = ob_get_contents();
        ob_end_clean();
    return $content;
}
?>

댓글 전체

사용하고자 하는 스킨은 이것인데..

이것뿐만아니라.. 다른 스킨들도 마찬가지로 출력이 안됩니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<style type="text/css">

DIV,blockquote {font-size:9pt; font-family:굴림; color:#666666; line-height:170%;}

A:link    {color:666666;text-decoration:none;}
A:visited {color:666666;text-decoration:none;}
A:active  {color:666666;text-decoration:none;}
A:hover  {color:gray;text-decoration:none;}

</style> 
<script language="javascript">
<!--
//Math.random()

    var scrollerheight=100; // 스크롤러의 세로
    var html,total_area=0,wait_flag=true;
   
    var bMouseOver = 1;
    var scrollspeed = 1; // Scrolling 속도
    var waitingtime = 3000; // 멈추는 시간
    var s_tmp = 0, s_amount = 60;
    var scroll_content=new Array();
    var startPanel=0, n_panel=0, i=0;
   
    function startscroll()
    { // 스크롤 시작
        i=0;
        for (i in scroll_content)
            n_panel++;
           
        n_panel = n_panel -1 ;
        startPanel = Math.round(Math.random()*n_panel);
        if(startPanel == 0)
        {
            i=0;
            for (i in scroll_content)
                insert_area(total_area, total_area++);
        }
        else if(startPanel == n_panel)
        {
            insert_area(startPanel, total_area);
            total_area++;
            for (i=0; i<startPanel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
        }
        else if((startPanel > 0) || (startPanel < n_panel))
        {
            insert_area(startPanel, total_area);
            total_area++;
            for (i=startPanel+1; i<=n_panel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
            for (i=0; i<startPanel; i++)
            {
                insert_area(i, total_area);
                total_area++;
            }
        }
        window.setTimeout("scrolling()",waitingtime);
    }
    function scrolling(){ // 실제로 스크롤 하는 부분
        if (bMouseOver && wait_flag)
        {
            for (i=0;i<total_area;i++){
                tmp = document.getElementById('scroll_area'+i).style;
                tmp.top = parseInt(tmp.top)-scrollspeed;
                if (parseInt(tmp.top) <= -scrollerheight){
                    tmp.top = scrollerheight*(total_area-1);
                }
                if (s_tmp++ > (s_amount-1)*scroll_content.length){
                    wait_flag=false;
                    window.setTimeout("wait_flag=true;s_tmp=0;",waitingtime);
                }
            }
        }
        window.setTimeout("scrolling()",1);
    }
    function insert_area(idx, n){ 
        html='<div style="left: 0px; width: 100%; position: absolute; top: '+(scrollerheight*n)+'px" id="scroll_area'+n+'">\n';
        html+=scroll_content[idx]+'\n';
        html+='</div>\n';
        document.write(html);
    }

    // 스크롤러에 들어갈 내용들을 태그와 함께 넣어 줍니다
<?
       
    //$rows = "10"; // 자료가 숫자보다 작으면 안됩니다. - 숫자변경은 10이상 5의 배수로 하세요
   
    $sql = " select *
              from {$g4[write_prefix]}{$bo_table}
              where wr_comment >= 0
              order by wr_id desc limit 0, $rows ";
$result = sql_query($sql);

$i = 0;$j = 0;

while($row = mysql_fetch_array($result)) {

        $list[i] = $row;
   
        $list[i][subject]=stripslashes(cut_str($row[wr_subject], 34)); //제목 글자수자르기
       
        if($row[wr_datetime] >= date("Y-m-d H:i:s", time() - 24 * 3600)) {//새글표시---제목색상변경
           
            $subject = "<font color=#95167C><b>{$list[i][subject]}</b></font>"; //새글에 색상/진하게 등등을 적용하시려면 요기에서 하세요
           
                } else {
           
                $subject = $list[i][subject]; //새글이 아닐경우 그냥 나타남
            }
           
        $date1 = substr($list[$i][datetime],0,10); //날짜표시형식변경

        $date = explode("-", $date1);

            $year = $date[0];

            $month = $date[1];

            $day = $date[2];

            $latest_date = $month."월".$day."일";
       
            if($i==0) {
            echo "scroll_content[".$j."]=\"";
        }
        // echo "<b>ㆍ</b><font color=#0080C0>[$latest_date]</font><a href='$g4[bbs_path]/board.php?bo_table=$board[bo_table]&wr_id=$row[wr_id]'>&nbsp;{$subject}</a><br>"; // 날짜출력
        echo "<b>ㆍ</b><a href='$g4[bbs_path]/board.php?bo_table=$board[bo_table]&wr_id=$row[wr_id]'>&nbsp;{$subject}</a><br>";
        $i++;
        if($i==5) {
            echo "\";\n\t";
            $i = 0; $j++;
        }
    }
    ?>

//-->
</script>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
 
    <tr>
        <td width="100%">
            <table border="0" cellpadding="0" cellspacing="0" width="100%" height="53">
                <tr>
                 
                    <td width="330" valign=top><div style="position: absolute; width: 330px; height: 100px; overflow:hidden;" onMouseover="bMouseOver=0" onMouseout="bMouseOver=1" id="scroll_image">
                    <script>
                    startscroll();
                    </script>
                    </div>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
올리신 latest_g()는 위 스킨하고는 무관하네요.

고쳐 볼 곳


//$rows = "10"; // 자료가 숫자보다 작으면 안됩니다. - 숫자변경은 10이상 5의 배수로 하세요

#####윗줄 맨 앞에 //를 빼 보세요.

   
    $sql = " select *
              from {$g4[write_prefix]}{$bo_table}
              where wr_comment >= 0
              order by wr_id desc limit 0, $rows ";
$result = sql_query($sql);

$i = 0;$j = 0;

while($row = mysql_fetch_array($result)) {

        $list[i] = $row;
   
        $list[i][subject]=stripslashes(cut_str($row[wr_subject], 34)); //제목 글자수자르기

#####윗줄을 $list[i][subject]= $row[wr_subject]; 로 고쳐 보세요.
아래 처럼 해서 sql문이 뭐가 나오는지 봐 주세요.
echo  $sql = " select *
              from {$g4[write_prefix]}{$bo_table}
              where wr_comment >= 0
              order by wr_id desc limit 0, $rows ";
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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