서브페이지 최신글 적용문제 도움 부탁드립니다~ 채택완료

안녕하세요~

서브페이지(?)에 최신글 적용에 문제가 있어 도움 좀 부탁드리려 합니다.

스킨원본은 원래 G4용 이었는데 G5용으로 수정하였습니다.
스킨원본 주소 : http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=76978&sca=&sfl=wr_subject||wr_content&stx=%EC%9D%B8%EA%B8%B0&page=4

메인페이지에는 잘 적용이 되는 스킨인데 (메인페이지에서는 전체게시판 최신글 추출이고, 서브에서는 특정그룹 최신글 추출로 사용하려 합니다.)

head2.php를 만들어서 서브페이지에서는 아래 오류가 나오는데 무슨 뜻인지 왜 나오는지 모르겠네요...ㅠㅠ

select bo_table from g5_board where gr_id='movie' and bo_use_search='1' order by bo_order_search
1054 : Unknown column 'bo_order_search' in 'order clause'
error file : /bbs/board.php

어떻게 해결을 해야될지 고수님들의 도움 말씀이 필요합니다..부탁드립니다.

 

weekly.lib.php 내용입니다. (파일은 root/extend/ 폴더에 있습니다.) 

Copy
<?php if (!defined('_GNUBOARD_')) exit; /* izen.group.lib.php 제작일 : 2006-12-08 지정 기간제 히트순 최근 게시물 수정본 http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328 그룹 최신글 관련하여 통합하도록 하였다. 정렬 필드값에 의해서 SQL 문을 추가하도록 하면 된다. izen_group('스킨', '그룹명', 정렬필드, 출력갯수, 자를 문자열, 최근 몇일간을 출력할 것인가?); 예) echo izen_group('best10', '06', wr_hit, 10, 28, 30); */ // 인기글 function izen_usort1($a, $b) { return $b['wr_hit'] - $a['wr_hit']; } // 헤드라인 function izen_usort2($a, $b) { return $b['wr_good'] - $a['wr_good']; } // 최신글 추출 function izen_group($skin_dir="", $gr_id, $izen_sort, $rows=10, $subject_len, $listdate){ global $g5; $nowYmd = date(Ymd); // 시작시간을 구합니다. $time = time(); $startYmd = date("Ymd",strtotime("-".$listdate." day", $time)); if (!$skin_dir) $skin_dir = 'basic';    if(G5_IS_MOBILE) {        $latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;        $latest_skin_url  = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;    } else {        $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;        $latest_skin_url  = G5_SKIN_URL.'/latest/'.$skin_dir;    }$list = array(); $sql= " select bo_table from {$g5['board_table']} ";    if( !empty($gr_id)) $sql .= "where gr_id='$gr_id' and bo_use_search='1' order by bo_order_search "; //그룹별 랭킹 추가 - 2015.02.05    $ress = sql_query($sql); for($i=0, $ii=0; $board=sql_fetch_array($ress); $ii++) { $tmp_write_table = $g5['write_prefix'] . $board['bo_table']; // 게시판 테이블 전체이름 //$sql = "select * from `$tmp_write_table` where wr_is_comment <> '1' and  date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $sort desc limit 0, $rows "; // 정렬 필드에 의해서 전체적으로 정렬, 관리한다. if ($izen_sort == 'wr_hit') { $sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows "; } elseif ($izen_sort == 'wr_scrap') { $sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_scrap <> 0 order by $izen_sort desc limit 0, $rows "; } elseif ($izen_sort == 'wr_datetime') # wr_1 헤드라인 { $sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_1 = 1 order by $izen_sort desc limit 0, $rows "; } elseif ($izen_sort == 'wr_good') # { $sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_good <> '0'  order by $izen_sort desc limit 0, $rows "; } elseif ($izen_sort == 'wr_id') { $sql_gr_Q = " wr_is_comment <> '1' order by $izen_sort desc limit 0, $rows "; }$sql = " select * from `$tmp_write_table` where $sql_gr_Q ";$result = sql_query($sql); //for (; $row=sql_fetch_array($result); $i++) // *오류* 전체 게시물 가운데 날짜에 상관없이 히트순으로 지정한 갯수만큼 출력된다. for ($i==0; $row=sql_fetch_array($result); $i++) { $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len, $listdate); } } if ($izen_sort == 'wr_hit') { usort($list, 'izen_usort1'); } elseif ($izen_sort == 'wr_good') { usort($list, 'izen_usort2'); } $list= array_slice($list, 0, $rows); ob_start();include $latest_skin_path.'/latest.skin.php';$content = ob_get_contents(); ob_end_clean(); return $content; } ?>
 

 

 

head2.php 내용입니다. (파일은 root에 있습니다.) 

Copy
<?phpif (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가include_once(G5_PATH.'/head.sub.php');include_once(G5_LIB_PATH.'/latest.lib.php');include_once(G5_LIB_PATH.'/outlogin.lib.php');include_once(G5_LIB_PATH.'/poll.lib.php');include_once(G5_LIB_PATH.'/visit.lib.php');include_once(G5_LIB_PATH.'/connect.lib.php');include_once(G5_LIB_PATH.'/popular.lib.php');// 상단 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.if ($config['cf_include_head']) {    if (!@include_once($config['cf_include_head'])) {        die('기본환경 설정에서 상단 파일 경로가 잘못 설정되어 있습니다.');    }    return; // 이 코드의 아래는 실행을 하지 않습니다.}if (G5_IS_MOBILE) {    include_once(G5_MOBILE_PATH.'/head.php');    return;}?><script type="text/javascript">            $(function() {                $("#toTop").scrollToTop(200); // 숫자가 작을수록 빨라짐            });</script><a href="#top" id="toTop"></a><!-- 상단 시작 { --><div id="hd">    <h1 id="hd_h1"><?php echo $g5['title'] ?></h1>    <div id="skip_to_container"><a href="#container">본문 바로가기</a></div>    <?php    if(defined('_INDEX_')) { // index에서만 실행        include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어    }    ?>    <div id="hd_wrapper">        <div id="logo">            <a href="<?php echo G5_URL ?>"><!--img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"--></a>        </div>        <fieldset id="hd_sch">            <legend>사이트 내 전체검색</legend>            <form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">            <input type="hidden" name="sfl" value="wr_subject||wr_content">            <input type="hidden" name="sop" value="and">            <label for="sch_stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>            <input type="text" name="stx" id="sch_stx" maxlength="20">            <input type="submit" id="sch_submit" value="검색">            </form>            <script>            function fsearchbox_submit(f)            {                if (f.stx.value.length < 2) {                    alert("검색어는 두글자 이상 입력하십시오.");                    f.stx.select();                    f.stx.focus();                    return false;                }                // 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.                var cnt = 0;                for (var i=0; i<f.stx.value.length; i++) {                    if (f.stx.value.charAt(i) == ' ')                        cnt++;                }                if (cnt > 1) {                    alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");                    f.stx.select();                    f.stx.focus();                    return false;                }                return true;            }            </script>        </fieldset>        <div id="text_size">            <!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->            <button id="size_down" onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_URL; ?>/img/ts01.gif" alt="기본"></button>            <button id="size_def" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_URL; ?>/img/ts02.gif" alt="크게"></button>            <button id="size_up" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_URL; ?>/img/ts03.gif" alt="더크게"></button>        </div>        <ul id="tnb">            <?php if ($is_member) {  ?>            <?php if ($is_admin) {  ?>            <li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>            <?php }  ?>            <li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>            <li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>            <?php } else {  ?>            <li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>            <li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>            <?php }  ?>            <li><a href="<?php echo G5_BBS_URL ?>/faq.php">FAQ</a></li>            <li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>            <li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수  ?></a></li>            <li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>        </ul>    </div>    <hr>        <nav id="gnb">        <h2>메인메뉴</h2>        <ul id="gnb_1dul">            <?php            $sql = " select *                        from {$g5['menu_table']}                        where me_use = '1'                          and length(me_code) = '2'                        order by me_order, me_id ";            $result = sql_query($sql, false);            $gnb_zindex = 999; // gnb_1dli z-index 값 설정용            for ($i=0; $row=sql_fetch_array($result); $i++) {            ?>            <li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">                <a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>                <?php                $sql2 = " select *                            from {$g5['menu_table']}                            where me_use = '1'                              and length(me_code) = '4'                              and substring(me_code, 1, 2) = '{$row['me_code']}'                            order by me_order, me_id ";                $result2 = sql_query($sql2);                for ($k=0; $row2=sql_fetch_array($result2); $k++) {                    if($k == 0)                        echo '<ul class="gnb_2dul">'.PHP_EOL;                ?>                    <li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>                <?php                }                if($k > 0)                    echo '</ul>'.PHP_EOL;                ?>            </li>            <?php            }            if ($i == 0) {  ?>                <li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>            <?php } ?>        </ul>    </nav></div><!-- } 상단 끝 --><hr /><!-- 콘텐츠 시작 { --><!-- wrapper 시작 { --><div id="wrapper2">    <div id="aside2">        <div class="block"><?php echo outlogin('ge.local.outlogin'); // 외부 로그인  ?></div>        <div class="block"><?php echo izen_group('g.weekly', 'movie', wr_hit, 10, 24, 30); ?> </div>    </div>        <!-- container 시작 { -->    <div id="container2">        <?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
 

답변 1개

채택된 답변
+20 포인트

단순히 order clause​ 라는 컬럼이 bo_order_search라는 테이블에 없다는거에요.

 

적어주신 소스에 이런 컬럼이 들어가는 쿼리문이 안나와있는데 order clause라는게 들어간곳을 수정해보세요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

드래곤된다님
답변 감사드립니다..^^

그런데 제가 개발쪽은 문외한이라 무슨말씀을 하시는지 이해가 안가네요..하하하 ㅠㅠ
대충 눈짐작으로는 weekly.lib.php 의 40번째 줄
[code]
if( !empty($gr_id)) $sql .= "where gr_id='$gr_id' and bo_use_search='1' order by bo_order_search "; //그룹별 랭킹 추가 - 2015.02.05
[/code]
때문인거 같은데 혹시 수정할 방법을 구할 수 있을까요?
아 제가 설명을 잘못했네요 bo_order_search라는 컬럼이 없다는거에요.

그러니 bo_order_search말고 다른걸로 정렬하셔야해요.

그룹별로한다면 gr_id로 한다거나 제목별로한다면 bo_subject로 한다거나 등등으로 바꾸시면되요~
드래곤된다 님이 알려주신 방법으로
order by bo_order_search 를 order by gr_id 로 하여 해결하였습니다.
감사드립니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고