+----+
| id |
+----+
| 1 |
+----+
| 2 |
+----+
| 3 |
+----+
| 4 |
+----+
+----+
| 5 |
+----+
リストに 2、3、4、5 または 3、4、5 が表示されるように、特定の ID のレコードを表示するにはどうすればよいですか?
UNION で 2 つのクエリを実行することを考えましたが、最終的には 2,1,3,4,5 または 2,5,4,3,1 が表示されます。
+----+
| id |
+----+
| 1 |
+----+
| 2 |
+----+
| 3 |
+----+
| 4 |
+----+
+----+
| 5 |
+----+
リストに 2、3、4、5 または 3、4、5 が表示されるように、特定の ID のレコードを表示するにはどうすればよいですか?
UNION で 2 つのクエリを実行することを考えましたが、最終的には 2,1,3,4,5 または 2,5,4,3,1 が表示されます。
もしかして
SELECT * FROM table WHERE id IN (2,3,4,5)
SELECT * FROM table WHERE id >= $id ORDER BY id ASC LIMIT 4
2 番目のクエリで、$id はユーザーからの入力です。また、LIMIT 4 の代わりに、ユーザー入力として 4 を使用することもできます
多分
$sql = "SELECT * FROM table WHERE id >= $curID ORDER BY id ASC LIMIT 4";
検索するエントリの数を指定する場合は、次を使用できます。
$sql = "SELECT * FROM table WHERE id >= $curID ORDER BY id ASC LIMIT $number";
クエリにプラグインする前に、必ず入力をサニタイズしてください。詳細については、この投稿を参照してください: PHP でユーザー入力をサニタイズするための最良の方法は何ですか?