MySQLをデータベースとして使用しています。
今ではすべてが正しく機能していますが、クライアントがWebサイトでフィルターを使用したいので、正確に何をする必要があるのか、それを行うための最良の方法は何かという問題に直面しています。
これが私のデータです(可能な限り単純化します)
id name price nr.bed nr.bath
---------------------------------
1 a 33 2 4
2 b 100 5 1
3 c 102 2 2
4 d 85 1 1
5 e 37 6 4
6 f 19 2 1
したがって、初めてページをロードするときは、このクエリを使用してデータベースから最初の5つを取得しています。
SELECT * FROM hotel LIMIT 5
そして私はこれを手に入れます:
id name price nr.bed nr.bath
---------------------------------
1 a 33 2 4
2 b 100 5 1
3 c 102 2 2
4 d 85 1 1
5 e 37 6 4
その後、私はこれを呼び出すたびに:
SELECT * FROM hotel WHERE id>'last_id(in this case 5)' LIMIT 5
そして私は得ています:
id name price nr.bed nr.bath
---------------------------------
6 f 19 2 1
等々...
しかし今、私はフィルターを使用する必要があります例えば私は価格のためのフィルターを持っています
だから私は次のようなものが必要です:
SELECT * FROM hotel where id>5 order by price desc LIMIT 5
id
しかし、その後、IDの注文を失い、すべてが価格で注文されているため、ホテルと比較できないため、データベースから次の5つを取得できません。
どうすればこれを達成できますか?別の列など、注文をそのまま維持するものを追加する必要がありますか?すべては、テーブルのIDを使用してWebサイトに表示されます。
編集:
idをascで注文し、priceをdescで注文する必要があるため、それが可能かどうかはわかりませんが、別の列などを追加せずにこれら2つを組み合わせることができるかどうかはわかりません。
EDIT2:
このようなものを手に入れたい
id id_copy name price nr.bed nr.bath
-----------------------------------------
1 3 c 102 2 2
2 2 b 100 5 1
3 4 d 85 1 1
4 5 e 37 6 4
5 1 a 33 2 4
6 6 f 19 2 1