테스트 사이트 - 개발 중인 베타 버전입니다

sql 질문입니다.. ㅠ 채택완료

소파 2년 전 조회 1,986

    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개

채택된 답변
+20 포인트
M
2년 전

</p>

<p>    $sql = "select * from .."; //시작 SQL

    if($ca_id2){

        $ca_id_arr[$result2] = $ca_id2.explode(",",$idx);</p>

<p>        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";</p>

<p>

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

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

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

복스리
2년 전

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

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

 

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

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

</p>

<p>$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";

$pieces = explode(" ", $pizza);

echo $pieces[0]; // piece1

echo $pieces[1]; // piece2</p>

<p>

 

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

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

</p>

<p><?php

$str = 'abcdef';

echo strlen($str); // 6



$str = ' ab cd ';

echo strlen($str); // 7

?></p>

<p>

 

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

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

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

답변에 대한 댓글 1개

복스리
2년 전
참고로 수정된 소스에선 {} (열고/닫힘) 부분은 문제가 없습니다.
문법적인 부분만 확인해보시면 문제 없이 잘될것 같습니다.

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

s
2년 전

{ } 열구 닫구 부분이 정확한지 체크가 필요합니다.

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

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

그누위즈

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

</p>

<p>if($ca_id2){</p>

<p>    $ca_id_arr[$result2] = $ca_id2.explode(",",$idx);</p>

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

<p>        //최초 1회는 ( 열고</p>

<p>        if ($i == 0) {</p>

<p>            echo "and (ca_id2 = " .$ca_id_arr[$i];</p>

<p>            //or 반복 처리</p>

<p>            }else if($i < $ca_id_arr.length()){</p>

<p>            echo "or ca_id2=" .$ca_id_arr[$i];</p>

<p>            //or 마지막 괄호 닫기</p>

<p>            }else{</p>

<p>            echo "or ca_id2=" .$ca_id_arr[$i].")";</p>

<p>            }</p>

<p>        }</p>

<p>}</p>

<p>

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

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

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

로그인