리스트 출력 쿼리문 질문입니다
본문
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 )
스케쥴에 " 수학, 문학, 영어 " 라고 들어가 있을때 like "%수학, 영어 %" 라고 검색하면 안될거 같은데요
DB의 필드를 분리하지 않으려면 like '%수학%' and like "%영어%' 이런식으로 하지 않는 이상 답이 없지 싶습니다.
쿼리까지 할려면 이전 소스까지 다 올려주셔야 되겠네요..
그리고 설명이 좀 부족합니다.
글로만 봐서는 정확히 원하는 바를 모르겠습니다.