2012-04-20 55 views
0

我試圖做一個基於特定數字的查詢,在這個階段我只需要以逗號分隔值的形式硬編碼到頁面中。基於特定隨機數列表的Mysql查詢?

2312,2431,2439,2440,2442,.... 

但由於之間的數字可能是不相關的,我不能用間

所以我怎麼做這種類型的查詢?

$sql= "SELECT * FROM table 
WHERE pc=2431 OR pc=2439 OR 
     pc=2440 OR pc=2442 OR 
     pc=2443 OR pc=2444 OR 
     pc=2445 OR pc=2446 OR 
     pc=2312 AND v=1 
ORDER BY id DESC 
LIMIT $offset, $rowsperpage"; 

我試過這樣的作品,但必須有更好的方法。

在此先感謝

回答

0

我會建議稍微改進其他答案:

$ pcs = array(2431,2439,2440,2442,2443,2444,2445,2446,2312);

"SELECT * 
FROM table 
WHERE pc IN (" . implode(",", $pcs) . ") 
AND v=1 
ORDER BY id DESC 
LIMIT $offset" 

這樣,如果以後你的IDS會改變,你必須使用他們幾個查詢,你將有更新,只有一個地方,而不是N(N爲查詢數量)。如果您在許多不同文件中使用這些ID,請考慮製作一個常量