2015-07-22 1204 views
0

系统SEACH我想让系统搜索我的网站(ADS)如何让数据库

$sql->mysql_query(
"SELECT * FROM ads WHERE ads_catgs='".$gettagname."' 
AND ads_Marque LIKE '%$ads_Marque%' 
OR ads_Modèle LIKE '%$ads_Modèle%' 
OR ads_Type_de_carburant LIKE '%$ads_Type_de_carburant%' 
OR ads_Année_Modèle LIKE '%$ads_Année_Modèle%' 
OR ads_Kilométrage LIKE '%$ads_Kilométrage%' 
OR ads_city='".$getcity."' 
AND ads_title LIKE '%$getsearchfor%' 
ORDER BY ads_id DESC") or die($sql->mysql_error()); 

它的工作,但如果我搜索广告的标题为“测试”和ads_Marque“For_Test” .. ..它选择任何广告,标题为“测试”和ads_Marque!=“For_Test”

(我为我的英语不好对不起)

+0

被ads_Marque应该是准确=,如果是这样,为什么喜欢? – Drew

+0

因为输入是文本 –

+0

当然是。但是为什么要增加额外的风险,如果它=开始(就像你在$ gettagname上做的那样) – Drew

回答

0

使用trim从关键字空间之前和之后删除。

尝试

$sql->mysql_query("SELECT * FROM ads WHERE ads_catgs='".$gettagname."' AND ads_Marque LIKE '%".trim($ads_Marque)."%' OR ads_Modèle LIKE '%".trim($ads_Modèle)."%' OR ads_Type_de_carburant LIKE '%".trim($ads_Type_de_carburant)."%' OR ads_Année_Modèle LIKE '%".trim($ads_Année_Modèle)."%' OR ads_Kilométrage LIKE '%".trim($ads_Kilométrage)."%' OR ads_city='".$getcity."' AND ads_title LIKE '%".trim($getsearchfor)."%' ORDER BY ads_id DESC") or die($sql->mysql_error()); 
+0

谢谢先生,但现在没有广告显示。 .. –