sql문.. ? php ?? 채택완료
제품 리스트에 키워드를 넣으면 제품에 해당 키워드가 잇으면 노출 시키는 그런...
기능을 해놨는데요~
아래 코드 때문에 속도가 많이 느려지더라고요.
예를들어,
키워드에 바지,후드 이렇게 넣으면
,을 기준으로 explode해서
count를 해서 for문을 둘려서
하는데...
좀더 빠른 php 또는 sql문이 있을까요?
배열이나 for문에서 느려질까요?ㅠ
if ($this->keyword) {
$word = $this->keyword;
if (!$word) continue;
$where_word = array();
if ($this->keyword) {
$yuchaeStr_Arr = explode("," , $this->keyword);
for($i=0; $i<count($yuchaeStr_Arr); $i++){
$text2 = preg_replace("/\s+/","",$yuchaeStr_Arr[$i]);
$where_word[]= "it_name like '%$text2%' ";
$where_word[]= "it_explan2 like '%$text2%' ";
$where_word[]= "it_id like '%$text2%' ";
$where_word[]= "it_basic like '%$text2%' ";
$where_word[]= "it_model like '%$text2%' ";
}
}
$sql_add .= " and ( " . implode(" or ", $where_word) . " ) ";
}
만약에 키워드가 바지 하나라고 생각하면
select * from `g5_shop_item` where it_use = '1' and ( it_name like '%바지%' or it_explan2 like '%바지%' or it_id like '%바지%' or it_basic like '%바지%' or it_model like '%바지%' ) and it_blind ='0' and it_price !='0' order by it_update_time desc limit 0 , 40
sql문을 찍으면 이런식으로됩니다.
답변 1개
답변을 작성하려면 로그인이 필요합니다.
로그인