如果你想找到一個或其他模型你應該做(雖然非常昂貴)。我不知道是什麼**的,你是如何存儲在數據庫中的東西...
"SELECT DISTINCT(parts_cats.Part_Type)
FROM parts_cats
WHERE stock.Item_Specifics_Type IN ('$ids')
AND stock.stock_item!='' AND Make='$Make'
AND (Model LIKE '%" . mysql_real_escape_string($ModelOne) . "%'
OR Model LIKE '%" . mysql_real_escape_string($ModelTwo) . "%')"
或生成的查詢
SELECT DISTINCT(parts_cats.Part_Type)
FROM parts_cats
WHERE stock.Item_Specifics_Type IN ('$ids')
AND stock.stock_item!='' and AND='$Make'
AND (Model LIKE '%GS 300%'
OR Model LIKE '%GS3000%')
編輯:
好吧我會做是有一個表,如 id concatNames
,並有5, GS 300**GS3000
在其中的條目.. 然後,你得到任何用戶輸入,你使用我寫上面的查詢..你有沒有嘗試過呢?
您可以讓用戶輸入類似這樣的字符串:使用
$array = explode("**",$str)
$str = "something**something2**something3";
然後,您可以在一個陣列或者你可以有多個<input>
s表示,用戶可以把東西分開。
在任何一種情況下,你都有一個$數組的所有不同的值..
那麼你動態地構造查詢的WHERE一部分
"AND (Model Like '%".$array[0]."%' OR Model Like '%".$array[1]."%' OR Model Like '%".$array[2]."%')"
這會工作,即使用戶輸入GS300
,GS3000
單獨或GS 300**GS3000
或GS3000**GS 300
嘗試一個爆炸查詢 – 2014-11-05 14:21:21
檢查數據庫,看看它是如何存儲的..當你把它放入數據庫時,你是否也逃脫了它? – 2014-11-05 14:21:26
@MichailMichailidis作爲GS 300存儲在數據庫中** GS3000(VARCHAR 50) – tomantford 2014-11-05 14:24:44