2012-05-06 11 views
0

你可以檢查看看是否會有我顯示搜索頁面後Spotlight任何結果

當用戶輸入關鍵字來搜索我喜歡使用關鍵字帶來了聚光燈後一個職位。如果沒有該關鍵字的帖子,那麼我只想從數據庫中引入任何Spotlight帖子。

我的問題是,我可以檢查這在MySQL查詢,看看他們是否會與此關鍵字的任何結果,如果沒有則忽略這個關鍵字?

SELECT id, title, desc 
    FROM post 
WHERE isActive = 1 
    AND title = 'keyword' 

,但如果我得到0的結果與此查詢我想忽略這一點,並運行此代替

SELECT id, title, desc 
    FROM post 
WHERE isActive = 1 
+0

傳遞'$ keywords'直入SQL - 我希望你使用了正確的MySQL API逃脫呢? – Romain

回答

0

這就是我所做的解決我的問題。

$select = " SELECT id, title, desc "; 
$from = ' FROM post'; 
$where = 'WHERE isActive=1 and title="%$keywords%"'; 
$sql = $select.$from.$where; 

,如果沒有結果,那麼覆蓋

$where = 'WHERE isActive=1'; 
$sql = $select.$from.$where; 

如果有誰知道任何其它的方式請讓我知道。

0

desc是MySQL的reserved keyword(用於訂購結果

我的查詢在* desc *結束順序)。要使用它作爲列名稱,您需要將其置於反引號

$select = " SELECT id, title, `desc` "; 
$from = ' FROM post'; 
$where = 'WHERE isActive=1 and title="%$keywords%"'; 
$sql = $select.$from.$where; 
+0

這只是一個例子。我沒有叫柱遞減 – Lalajee

+0

啊......請確保您的示例代碼在語法上是正確的,因爲如果人們試圖回答,你會感到困惑......像我:) – Mchl

+0

而且我相信你想'$ =哪裏「WHERE isActive = 1和標題LIKE '%$關鍵字%'」;''未$其中= 'WHERE isActive = 1和標題= 「%$關鍵字%」';'但是,示例或實際代碼? – Mchl

相關問題