我正在使用 MySQL 作为数据库。
现在我让一切正常工作,但是由于我的客户希望在网站上进行过滤,我遇到了一些问题,即我到底需要做什么以及最好的方法是什么。
所以这是我的数据(我会尽可能简化)
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
酒店进行比较,因为一切都是按价格订购的。
我怎样才能做到这一点?我是否需要添加另一列或其他内容来保持我的订单不变?所有内容都使用表格中的 id 显示在网站上。
编辑:
我不确定这是否可能,因为我需要在 asc 中订购 id 并在 desc 中订购价格,但我不确定我们是否可以将这两者结合在一起而不添加另一列或其他东西。
编辑2:
我想得到这样的东西
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