2012-12-19 27 views
0
<?php   
$colname_subselect = "-1"; 
if (isset($_POST['title'])) { 
    $colname_subselect = $_POST['title']; 
} 
mysql_select_db($database_donedeal, $donedeal); 
$query_subselect = sprintf("SELECT * FROM subcategories WHERE subcatename LIKE %s"); 
?> 

我試圖表現出從由以前的頁面發佈到categories.php頁面,例如,在以前的頁面字段名稱標題包含文本標題建議類別:需要PHP的MySQL從標題建議的類別名稱貼

## I Want My Motor Car To Sell##

一旦提交它將去categories.php我寫上面的查詢。使用LIKE函數我能夠得到建議的類別,當我只寫一個關鍵字,如我在前一頁的標題字段中寫的汽車,所以在categories.php頁面建議的類別將顯示哪些包含汽車關鍵字。

沒有我想要的是,當我發佈完整的廣告文章標題一樣

## I Want My Motor Car To Sell##

我怎麼能顯示所建議的類別,如上面的標題包含電機和汽車關鍵字,所以應該按類別顯示。 PHP類別包含汽車和汽車關鍵字?有我?

我米使用的是InnoDB所以MATCH方法是行不通的,任何其他喜歡的方法,將不勝感激,請...

+0

像你這樣的人正在尋找[soundex](http://www.sitepoint.com/forums/showthread.php?164318-using-SOUNDEX-in-MySQL-to-do-a-search)。 [另一個例子](http://www.codeproject.com/Questions/201153/How-to-use-LIKE-with-Soundex-in-Mysql)。將標題分解爲單詞也會有所幫助。 – undefined

回答

0
$colname_subselect = "-1"; 
if (isset($_POST['title'])) { 
$colname_subselect = $_POST['title']; 
} 
mysql_select_db($database_donedeal, $donedeal); 
$queryString = trim(implode('or subcatename like ',explode(' ',$colname_subselect)), 'or'); 
$query_subselect = sprintf("SELECT * FROM subcategories WHERE " . $queryString ); 

請注意,你可能有逃避串停止SQL注入。

+0

我強烈推薦這個漂亮的MySQL庫 - http://www.meekro.com - 易於安裝/使用和照顧SQL注入也 – Latheesan