리스트 출력 쿼리문 질문입니다

리스트 출력 쿼리문 질문입니다

QA

리스트 출력 쿼리문 질문입니다

답변 4

본문

schedule 필드에 [ 수학, 문학, 영어, 불어, 공학, 이계, 문과, 역사 ] 중에  문학,영어,이계를 선택하여 DB에 구분자 " , "로 저장하였습니다

 

그리고 해당 스케쥴 리스트 안에 탭박스로 1~10일 11~20일 21~31일 을 만들었습니다

 

스케쥴에 들어가서 내가 보고있는 스케쥴에 수학,문학 이고 탭박스에 1~10일을 선택하면 예) 문학,영어 / 수학,문학,역사 / 공학,문학,이계 등등 이런식으로 DB에 수학,문학이 포함되어있는 모든걸 다 불러오고 싶습니다

 

$sql_order = " schedule desc";
    $sql = "
        SELECT *
            FROM new_schedule           
           WHERE bo_table = '{$bo_table}' and schedule like '%$schedule %'
               {$sql_where}
         order by {$sql_order}
         LIMIT 10
    ";

 

쿼리문을 이렇게 짰는데....원하는것처럼 매치가 안되서 도움을 요첨합니다 ㅠ

이 질문에 댓글 쓰기 :

답변 4

$tmp = explode(",", $schedule);

$con = "') or INSTR( schedule,'";
$sch_qry = "INSTR( schedule,'". implode($con,$tmp)."')";

 

where절을 아래 처럼

WHERE bo_table = '{$bo_table}' and ( $sch_qry )

 

$tmp = explode(",", $schedule);
$con = "') or INSTR( schedule,'";
$sch_qry = "INSTR( schedule,'". implode($con,$tmp)."')";

$sql_order = " schedule desc";
    $sql = "
        SELECT *
            FROM new_schedule         
          WHERE bo_table = '{$bo_table}' and ( $sch_qry )
              {$sql_where}
        order by {$sql_order}
        LIMIT 10
    ";

이렇게 하는게 맞는지 모르겠지만 매칭이 안되고 잇습니다 ㅠ

$sql_where가 무엇인지 모르겠으나 그외 코드는 맞습니다
$sql_where가 문제 없다면 $schedule값이 "국어,영어,수학" 처럼 공백이 없어야 하는데
공백이 있거나 디비에 저장된 필드 값에 공백이 들어갔거나 그런 것을 살펴보세요

$tmp = explode(",", $schedule);
$con = "') or INSTR( schedule,'";
$sch_qry = "INSTR( schedule,'". implode($con,$tmp)."')";

$sql_order = " schedule desc";
    $sql = "
        SELECT *
        FROM new_schedule         
        WHERE bo_table = '{$bo_table}' and ( $sch_qry )
        order by {$sql_order}
        LIMIT 10
    ";

새로 쿼리문을 만들어서 해보았으나 매치가 안되고 그냥 내림차순으로 DB에 저장된순으로 나열이 되어버리네요 ㅠ

내가 보고있는 스케쥴에 수학,문학,영어가 있으면 11~20일까지 탭을 선택하면 수학,문학,영어 3단어중 한개라도 일치하면 전부 불러와라 이렇게 하고 싶은데 아직 완전 초보라 힘드네요 ㅠ

많이 도움주셔서 감사합니다..

스케쥴에 " 수학, 문학, 영어 " 라고 들어가 있을때 like "%수학, 영어 %" 라고 검색하면 안될거 같은데요

 

DB의 필드를 분리하지 않으려면 like '%수학%' and like "%영어%' 이런식으로 하지 않는 이상 답이 없지 싶습니다.

제가 아기 걸음마 수준이라서..쿼리문 하나만 참고용으로 만들어주시면 안될까요? 그리고 궁금한게 해당 스케쥴 리스트에 수학,문학,영어 라고 있으면 탭버튼으로 1~10일을 누르면 리스트에 있는 수학,문학,영어 3개중 한개라도 있으면 전부다 불러올려고 하는데 추가해야할 문법이 있을까요?

쿼리까지 할려면 이전 소스까지 다 올려주셔야 되겠네요..

그리고 설명이 좀 부족합니다.

글로만 봐서는 정확히 원하는 바를 모르겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 304
© SIRSOFT
현재 페이지 제일 처음으로