2012-03-22 62 views
0

任何人都可以幫忙,我試圖建立一個搜索使用PHP搜索MySQL中的文本字段。布爾PHP MySQL和或不搜索

我希望用戶能夠進入一個必須具備的標準,一個或標準和不標準,以及能夠搜索字符串,因此,例如:

(「這句話」 OR 「這句話」)和字

目前我使用下面的例子中,生成搜索字符串:

$all = $row['and_search'] ; 
    $any = $row['or_search'] ; 
    $none = $row['not_search']; 
    if((!$all) || ($all == "")) { $all = ""; } else { $all = "$all"; } 
    if((!$any) || ($any == "")) { $any = ""; } 
    if((!$none) || ($none == "")) { $none = ""; } else { $none = "$none"; } 

上述工作出色僅爲單個單詞,而不是搜索,如上面的例子。

任何想法如何改變實現?

+1

嗯,如果我理解正確,你應該使用javascript + mysql反射(從sql表中獲取字段)。使用JavaScript,你可以有一個添加/刪除字段,它有你想要的標準。這非常複雜。你還應該檢查像使用分號(;)的人的黑客,然後鍵入DROP DATABASE xxx或其他 – Panagiotis 2012-03-22 10:44:38

回答

0

將$ all,$ any和$ none按空格分隔到數組中。比如加入他們想

$newAll = '("' . join('" OR "', split(' ', $all)) . '")';