latest에서 sfl=wr_8 과 sfl=wr_5 모두 불러오려면 어떻게 해야 되나요? > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

latest에서 sfl=wr_8 과 sfl=wr_5 모두 불러오려면 어떻게 해야 되나요? 정보

latest에서 sfl=wr_8 과 sfl=wr_5 모두 불러오려면 어떻게 해야 되나요?

본문

아래는 sca,sfl,stx를 사용하여 게시물을 불러오는 latest입니다.

<?
include_once("$g4[path]/skin/latest/latest_top/inc_lib.php");
echo latest_top('latest_top', 'oneroom', 8, 30, $sca, wr_8, 2, wr_5, $stx);
?>

이런식으로 wr_8,wr_5 모두 불러오도록 만들고 싶은데요.
sfl을 중복으로 사용할 수 없어서,
마지막 sfl=wr_5만 적용이 되어 버려요.

sfl=wr_8 과 sfl=wr_5 모두 작동하여 불러오도록 하려면 어떻게 해야 되나요?





<?
if (!defined('_GNUBOARD_')) exit;


function latest_top($skin_dir="", $bo_table, $rows=10, $subject_len=40, $sca="", $sfl = "", $stx="", $sfl = "", $stx="")
 {
    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_search = "";

    $sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
    $board = sql_fetch($sql);

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

    if ($sca || $stx)
  {
          $sql_search = get_sql_search($sca, $sfl, $stx);
          $sql_search = "and ".$sql_search;
  }

    $sql = " select * from $tmp_write_table where wr_is_comment = 0 $sql_search order by wr_num 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);
    }

    ob_start();
    include "$latest_skin_path/latest.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    return $content;
}

?>
추천
1

댓글 6개

wr_8, wr_5 내용도 검색하게하시려는게 맞다면..

추가적으로 검색을 하시려는 필드가 있다면 원하는 변수를 등록해주어야한다는거 잊으셨나봅니다.
우선은 /bbs/list.php 에 보시면..


if ($sca || $stx)  부분을 wr_8 과 wr_5 을 추가하신다고 하셨으니까..
if ($sca || $stx || $stx_wr_5 || $stx_wr_8)

if ($sca && $stx) 부분도 똑같이 변경..


$sql_search = get_sql_search($sca, $sfl, $stx, $sop); 을 $sql_search = get_sql_search($sca, $stx_wr_5, $stx_wr_8, $sfl, $stx, $sop); 으로 수정합니다.


/lib/common.lib.php

function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and') 에서

function get_sql_search($search_ca_name, $stx_wr_5, $stx_wr_8, $search_field, $search_text, $search_operator='and')

변경전

    if (!$search_text) {
        if ($search_ca_name) {
            return $str;
        } else {
            return '0';
        }
    }


변경후

    /* 검색에필요기준 */
    if($stx_wr_5) {
        if($str) $str .= " and ";
        $str .= " wr_5 = '".$stx_wr_5."'";
    }

    if($stx_wr_8) {
        if($str) $str .= " and ";
        $str .= " wr_8 = '".$stx_wr_8."'";
    }


    if (!$search_text) {
        if ($search_ca_name || $stx_wr_5 || $stx_wr_8) {
            return $str;
        } else {
            return '0';
        }
    }



검색은 $stx_wr_5  $stx_wr_8 을 사용하시면되죠..
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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