sql 질문입니다.. ㅠ

sql 질문입니다.. ㅠ

QA

sql 질문입니다.. ㅠ

본문

    if($ca_id2){

        $ca_id_arr[$result2] = $ca_id2.explode(",",$idx);

        for($i = 0; $i <= $ca_id_arr.length(); $i++){

            //최초 1회는 ( 열고

            if ($i == 0) {

                "and (ca_id2 = " .$ca_id_arr[$i].

            //or 반복 처리

            }else if($i < $ca_id_arr.length();){

                "or ca_id2=" .$ca_id_arr[$i].

            //or 마지막 괄호 닫기

            }else{

                "or ca_id2=" .$ca_id_arr[$i].")"

            }

        }

    }

    +" order by it_time desc";

 

Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\chalsmill\shop\viewList.skin.php on line 50 오류가 뜨는데 뭐가 문제인지 모르겠습니다..ㅠ 알려주실 고수분 찾습니다!

이 질문에 댓글 쓰기 :

답변 4


    $sql = "select * from .."; //시작 SQL
    if($ca_id2){
        $ca_id_arr[$result2] = $ca_id2.explode(",",$idx);
        for($i = 0; $i <= $ca_id_arr.length(); $i++){
            //최초 1회는 ( 열고
            if ($i == 0) {
                  $sql .= " and (ca_id2 = '" .$ca_id_arr[$i]."'";
            //or 반복 처리
            }else if($i < $ca_id_arr.length();){
                  $sql .= " or ca_id2='" .$ca_id_arr[$i]."'";
            //or 마지막 괄호 닫기
            }else{
                  $sql .= " or ca_id2='" .$ca_id_arr[$i]."')";
            }
        }
    }
    $sql .= " order by it_time desc";

이런식으로 sql 쿼리를 완성하셔야 합니다.

PHP 닫는 부분하고 문법이 잘못되셨는데 점검 해보시기바랍니다.


if($ca_id2){
    $ca_id_arr[$result2] = $ca_id2.explode(",",$idx);
    for($i = 0; $i <= $ca_id_arr.length(); $i++){
        //최초 1회는 ( 열고
        if ($i == 0) {
            echo "and (ca_id2 = " .$ca_id_arr[$i];
            //or 반복 처리
            }else if($i < $ca_id_arr.length()){
            echo "or ca_id2=" .$ca_id_arr[$i];
            //or 마지막 괄호 닫기
            }else{
            echo "or ca_id2=" .$ca_id_arr[$i].")";
            }
        }
}

php문법이 뭔가 이상하지 않으신가요? 

자바스크립처럼 php문법을 사용한거 같아서 안내드리겠습니다.

 

explode 문법은 구분자를 넣어서 배열로 나누는 기능을 합니다.

아래 예제를 참고 하셔서 적용해보시길 바랍니다.


$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

 

그리고 길이를 체크하는 length도 역시 자바스크립입니다.

이런경우 length 를 넣으시면 안되고 strlen을 사용하셔야 합니다. 아래 예제를 참고 바랍니다.


<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>

 

요렇게 참고 하셔서 사용하시길 바랍니다. 

해보시다 안되시면 쪽지 주시면 도움드리도록 하겠습니다.

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

회원로그인

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