2012-04-20 10 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" 

後でIDが変更され、あなたがそれらを使用して、いくつか質問がある場合は、代わりに(Nは、クエリの数である)Nの一つだけの場所を更新する必要がありますこの方法。これらのIDをさまざまなファイルで使用する場合は、定数を作成することを検討してください。

関連する問題