2014-05-01 60 views
0

我使用的是使用setfilter命令像這樣:獅身人面像使用setfilter不過濾如我所料

$mycategoryids = "345,366,456,444,789,345"; 

$cl->SetFilter('thecatid', array($mycategoryids)); 

然而,結果我回來,他們都有345無論是他們的主要或次要類別,所以纔出現由於345是該陣列中的第一個數字,因此如果不是全部的權重,則給予更多的數字。難道我做錯了什麼?我認爲,有所有的數組中的這些數字將僅僅意味着那個獅身人面像只抓住這包括在「thecatid」這些數字的一個項目,因此,如果有這樣一個項目:

[thecatid] => Array 
           (
           [0] => 444 
           [1] => 552 
           [2] => 554 
           [3] => 566 
          ) 

那麼它應該仍然顯示在結果中,因爲444在該項目的'thecatid'數組中,444也在過濾器調用中。

我錯過了什麼嗎?

哦,以確保我的查詢是正確的,在查詢中我有:

SELECT u.ID,u.Downloads as downloads, CONCAT_WS(',', u.catID, u.CatID1, u.CatID2, u.CatID3) as thecatid, ... 

,然後在下面了下來:

sql_attr_multi = uint thecatid from field; 

謝謝!

克雷格

回答

1
$mycategoryids = "345,366,456,444,789,345"; 

$cl->SetFilter('thecatid', array($mycategoryids)); 

那不是有效的代碼。你需要通過setFilter 數組。不是包含單個字符串的數組。

這兩個比較好...

$mycategoryids = array(345,366,456,444,789,345); 
$cl->SetFilter('thecatid', $mycategoryids); 

$mycategoryids = "345,366,456,444,789,345"; 
$cl->SetFilter('thecatid', explode(',',$mycategoryids)); 
+0

祝福你們當巴里在此生活和一個前來淋灑。 ;) – CRAIG