2013-12-20 3 views
0

여러 드롭 다운 목록에서 정보를 가져 오는 동적 쿼리를 작성하려고합니다. 드롭 다운 목록에 값이 %ANY이라는 옵션이 있으므로 선택하면 쿼리 선택에 영향을 미치지 않습니다.쿼리에서 LIKE 절 사용

이 내 쿼리입니다 :

$query_pag_data = " 
SELECT * 
FROM forecast 
WHERE QuoteCode IN 
    (SELECT QuoteCode 
    FROM `StockData` 
    WHERE AssetType LIKE '$sec' 
     AND region LIKE '$indust' 
     AND exchange LIKE '$exchange' 
     AND Country LIKE '$cntry') 
    AND RANKING LIKE '$sig_m_t' 
    AND RANKINGw '$sig_l_t' 
    AND NewSigD LIKE '$new_m' 
    AND NewSigW LIKE '$new_l' 
ORDER BY SCORE DESC LIMIT $start, 
          $per_page 
"; 

은 내가 변수에 %를 전달하는 경우가 작동하고 알고 싶어? 내가 이러한 경우에 무엇을

+3

시도 했습니까? –

+0

SQL 서버에 쿼리를 전달하기 전에 원하는대로 편집 할 수 있기 때문에 확실합니다. 하지만 당신도 PHP 코드를 게시 할 수 있습니까? –

+0

아마 당신은 검색 문자열에 % -sign을 잊어 버렸을 것입니다. – Corni

답변

2

이다 : 당신이 그것을

$query_pag_data = " 
SELECT * 
FROM forecast 
WHERE QuoteCode IN 
(SELECT QuoteCode 
FROM `StockData` 
WHERE AssetType LIKE '%$sec%' 
AND region LIKE '%$indust%' 
AND exchange LIKE '%$exchange%' 
AND Country LIKE '%$cntry%' 
AND RANKING LIKE '%$sig_m_t%' 
AND RANKINGw '%$sig_l_t%' 
AND NewSigD LIKE '%$new_m%' 
AND NewSigW LIKE '%$new_l%' 
ORDER BY SCORE DESC LIMIT $start,$per_page"; 
+0

"" "연결하지 마시고, PHP가 문자열을 처리하고 변수를 대체하십시오;) –

+0

코드를 최적화하기 위해 제거해야하는 것이 무엇인지 확실하지 않습니다. 어떤 문자를 제거해야하는지 알려주세요. 코드는 내가 믿는대로 작동해야합니다. – injurer001

+0

예 코드는 작동하지만 '%'보다 '% $ new_m. %' "이 (가) 더 빠릅니다. $ new_m."% "";) –