최신글 게시판마다 출력 개수 & 스타일 다르게 하기

최신글 게시판마다 출력 개수 & 스타일 다르게 하기

QA

최신글 게시판마다 출력 개수 & 스타일 다르게 하기

본문


<!-- 최신글 시작 { -->
    <?php
    //  최신글
    $sql = " select bo_table
                from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
                where a.bo_device <> 'mobile' ";
    if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
    $sql .= " and a.bo_table in ('news', 'notice') ";   
    $sql .= " order by b.gr_order, a.bo_order ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
    ?>
    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', 'notice', 2, 24);
        ?>
    </div>
    <?php
    }
    ?>
    <!-- } 최신글 끝 -->

 

현재 메인에 공지사항과 news 게시판을 사용중인데요

1. 공지사항은 2개만 노출되고 news는 레이아웃을 바꿔서 세개만 출력되게 하고싶은데

어떻게 해야할까요? 

 

위 소스처럼 echo latest('theme/basic', 'notice', 2, 24); 이렇게 적용을 했더니 공지사항이 두개가 나와버리네요...

 

2. 클래스명은 bo_table 끌어오면 될거같아서 이것저것 넣어봣는데

출력이 안되고 공백으로 나오고...

 

3. 공지사항이 먼저 출력되고 news가 그 다음에 나와야 하는데

   news 부터 나오는것은 왜 그럴까요...

 

php 무지랭이라 질문도 엉망진창이네요 ㅠㅠ

 

이 질문에 댓글 쓰기 :

답변 3



   <?php
    //  최신글
    $sql = " select bo_table
                from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
                where a.bo_device <> 'mobile' ";
    if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
    $sql .= " and a.bo_table in ('news', 'notice') ";   
    $sql .= " order by b.gr_order, a.bo_order ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
    ?>
    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', 'notice', 2, 24);
        ?>
    </div>
    <?php
    }
    ?>

 

위 소스를 보시면 최신글 쿼리에 news 와 notice 를 in 으로 처리하셨으니 아래부분에



        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', $row[bo_table], 2, 24);
        ?>

 

이렇게 해야 게시판 별로 최신글이 호출됩니다 

게시판 별로 출력갯수를 변경하고 싶으시면



        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        if($row[bo_table] == "news")        echo latest('theme/basic', 'news', 3, 24);
        elseif($row[bo_table] == "notice")  echo latest('theme/basic', 'notice', 5, 24);
        ?>

 

이런식으로 조건문 처리하시면 됩니다

php 순서대로 처리되기 때문에 출력 순서를 조절하고 싶으시면

 

위 코드 말고

 



    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        echo latest('theme/basic', 'news', 2, 24);
        ?>
    </div>


    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', 'notice', 2, 24);
        ?>
    </div>

 

이런식으로 위치에 맞게 따로 따로 호출하시면 됩니다

 

board 테이블에서 게시판 가져와서 출력하지 마시고 

 

html 코드안에서 하나씩 따로 호출하시면 출력순서 조절 됩니다

말씀하신대로 했더니 순서는 확실해졌는데요
http://koreapilatesunion.co.kr/ 하단쪽에 위치한 게시판인데

게시판이 한번 더 반복되서 공지사항 . 뉴스. 공지사항 . 뉴스 이렇게 총 4개가 출력이 되네요ㅜㅜ





<!-- 최신글 시작 { -->
    <?php
    //  최신글
    $sql = " select bo_table
                from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
                where a.bo_device <> 'mobile' ";
    if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
    $sql .= " and a.bo_table in ('news', 'notice') ";   
    $sql .= " order by b.gr_order, a.bo_order ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
    ?>
    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', 'notice', 2, 24);
        ?>
    </div>
    <?php
    }
    ?>
    <!-- } 최신글 끝 -->

 

이코드를 전부 빼시고



    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        echo latest('theme/basic', 'news', 2, 24);
        ?>
    </div>


    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', 'notice', 2, 24);
        ?>
    </div>

이것만 넣으셔서 처리하셔야 합니다

 

위쪽에 반복문은 필요 없습니다

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

회원로그인

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