최근게시물 wr_3 로 게시물 검색 문의 드려요

최근게시물 wr_3 로 게시물 검색 문의 드려요

QA

최근게시물 wr_3 로 게시물 검색 문의 드려요

본문

안녕하세요 :)
아래는 공지사항을 체크한 게시물만 최근게시물로 불러오는 소스코드 입니다.
여기에 wr_3 값으로도 게시물을 추출하려고 하는데, 잘 안되요.
wr_3값으로 추출을 하면, "게시물이 없습니다."라고 뜨는데, 이유를 잘 모르겠어요.
도움 부탁 드려요.
 
<?
if (!defined('_GNUBOARD_')) exit;
// 최신글 추출
function oneroom_top($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="", $sca="", $sfl = "", $stx="", $wr_3="")
{
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 || $wr_3)
  {
          $sql_search = get_sql_search($sca, $sfl, $stx);
          $sql_search = "and ".$sql_search;
  }

if($options=='notice'){
$notice_rows=count( split("\n", trim($board[bo_notice]) ) );
if( $rows> $notice_rows) $rows= $notice_rows;
$sql = " select * from $tmp_write_table where wr_is_comment = 0 and INSTR('$board[bo_notice]', wr_id)>0 $sql_search order by wr_num limit 0, $rows ";
}

$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;
}
?>

이 질문에 댓글 쓰기 :

답변 4

아~~ 한가지 더
$wr_3 값이 필드를 불러들이는 값이 아니고 input text 로 문자입력이라면

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

이게 맞습니다 

불량학생님 하나만 더 문의 드려도 될까요?
$wr_4를 하나 더 추가해서 다중추출을 하려고 하는데요.
아래처럼 했더니, wr_3만 작동을 하는데 wr_4의 값도 함께 반영하여
다중으로 추출하려면 어떻게하면 될까요?

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

if문을 이렇게 수정하셔야 하지 않을까요?

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

get_sql_search 이전에
 
if($wr_3){
$sfl .= "||".$wr_3;
}
 
$sql_search = get_sql_search($sca, $sfl, $stx);
 
이렇게 slf 뒤에 wr_3도 같이 딸려 보내면? 검색 안되나요;;
 
테스트는 안해봄 ㅡㅡ;
wr_3과 wr_4를 동시에 사용하시려면
wr_3 AND wr_4
wr_3 OR wr_4
이렇게 되는건가요?
이런 방식으로 하시려면
get_sql_search() 함수를 수정해야 할 것 같은데요
get_sql_search($sca,$sfl,$wr_3|$wr_4,$search_operator);
함수에서는 이렇게 넣어지 $wr_3과 $wr_4를 explode해서 검색하는 기능을 만드시면 될듯

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

회원로그인

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