sql문 질문 드립니다.

sql문 질문 드립니다.

QA

sql문 질문 드립니다.

본문

$where = " where ";
$sql_search = "";
if ($stx != "") {
    if ($sfl != "") {
        $sql_search .= " $where $sfl like '%$stx%' ";
        $where = " and ";
    }
    if ($save_stx != $stx);
        //$page = 1;
}

//검색조건 2 쿼리에 적용
if ($stx2 != "") {
    if ($sfl2 != "") {
        $sql_search .= " $where $sfl2 like '%$stx2%' ";
        $where = " and ";
    }
    if ($save_stx2 != $stx2);
        //$page = 1;
}

//검색조건3 날짜 bar_orderdate 
    if ($fr_date != "" && $to_date != "") {
        $sql_search .= " $where DATE($nal01) BETWEEN '$fr_date' AND '$to_date' ";
        $where = " and ";
    //    $page = 1;
}

//검색조건4 입고1 출고1 존재/미존재
if ($sfl3 != "") { //출고
    if($sfl3 == "exist"){
        $sql_search .= " $where $sfl5 != '0000-00-00 00:00:00'";
        $where = " and ";
    } else if($sfl3 == "not_exist"){
        $sql_search .= " $where $sfl5 = '0000-00-00 00:00:00'";
        $where = " and ";
    }    
}
if ($sfl4 != "") { //입고
    if($sfl4 == "exist"){
        $sql_search .= " $where $sfl6 != '0000-00-00 00:00:00'";
        $where = " and ";
    } else if($sfl4 == "not_exist"){
        $sql_search .= " $where $sfl6 = '0000-00-00 00:00:00'";
        $where = " and ";
    }
}

 

// 카운터1

$sql_common1 = " from g5_shop_barcode ";
if ($sql_search != "") {
    $sql_common1 .= $sql_search .= " and bar_itemcode like '26%' ";
} else {
    $sql_common1 .= " where bar_itemcode like '26%' ";
}
$sql = " select count(*) as cnt " . $sql_common1;
$row = sql_fetch($sql);
$count1 = $row['cnt'];

 

 

이렇게 카운터를 출력하고 있는데요.

1개의 카운터는 되는데

 

// 카운터1

$sql_common1 = " from g5_shop_barcode ";
if ($sql_search != "") {
    $sql_common1 .= $sql_search .= " and bar_itemcode like '26%' ";
} else {
    $sql_common1 .= " where bar_itemcode like '26%' ";
}
$sql = " select count(*) as cnt " . $sql_common1;
$row = sql_fetch($sql);
$count1 = $row['cnt'];

 

 

// 카운터2
$sql_common2 = " from g5_shop_barcode ";
if ($sql_search != "") {
    $sql_common2 .= $sql_search .= " and bar_itemcode like '28%' ";
} else {
    $sql_common2 .= " where bar_itemcode like '28%' ";
}
$sql = " select count(*) as cnt " . $sql_common2;
$row = sql_fetch($sql);
$count2 = $row['cnt'];

 

 

이런식으로 2개 부터는 안나오네요.. 함수도 동일하고 카운트 뽑을 필드명만 다른 뿐인데

이상하게 두번째 카운터 부터는 출력이 안되네요..

 

검색을 안하고 그냥 목록에서는 카운터가 2가지가 정상출력 되는데

검색을 하게 되면 두번재 카운터부터 나오질 않고 있네요 ..

이 질문에 댓글 쓰기 :

답변 1

$sql = " select count(*) as cnt " . $sql_common2;

여기 하단에

echo $sql; 로 했어 정상적으로 쿼리문을 요청하는지 확인해보세요

제가 볼땐 검색일경우 where 중복으로 들어가지 않을까 싶네요?

 

이유는?

$where = " where ";
$sql_search = "";
if ($stx != "") {
    if ($sfl != "") {
        $sql_search .= " $where $sfl like '%$stx%' ";
        $where = " and ";
    }
    if ($save_stx != $stx);
        //$page = 1;
}

//검색조건 2 쿼리에 적용
if ($stx2 != "") {
    if ($sfl2 != "") {
        $sql_search .= " $where $sfl2 like '%$stx2%' ";
        $where = " and ";
    }
    if ($save_stx2 != $stx2);
        //$page = 1;
}

검색 조건 1에서 sql_search 함수에 $where를 넣었는대 조건 2에서도 sql_search 부분에 $where 들어가는거 같은대요?

답변을 작성하시기 전에 로그인 해주세요.
전체 728
QA 내용 검색
filter #sql ×

회원로그인

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