Select 基于不同变量的数据库选项?

Select a option from a database based on different variables?

我正在寻找 PHP 代码来选择数据 table 中的最佳选项。被视为 "best" 的内容将基于 variables/columns。我知道我需要启动一个 mysqli 查询并创建几个循环来搜索数据库,但我不完全确定如何实现这样的事情。

为了更深入的解释我在说什么,这里举个例子。

(开始示例)

假设我有一个数据库,其中有一个包含项目的 table。有 3 列:Item ID、Type、On Sale。我想做到这一点,以便用户能够根据这些变量选择最佳选项。除了查找 "best" 选项外,它还会选择按该顺序首先列出的选项(在本例中为最低的项目 ID)。 想象一下 table:

Item ID | Type | On Sale
---------------------
1      | Chair | 0 
2      | Table | 1
3      | Chair | 1  
4      | Oven  | 0  
5      | Table | 1
6      | Oven  | 0 

重要级别为类型>特价商品>商品 ID(最低)。

一位用户正在找椅子。选择第 3 件是因为这是他的商品,也是第一个也在打折的。

一位用户正在寻找 table。选择项目 2 而不是项目 5,因为它列在较高位置(或者在本例中,项目 ID 较低)

一位用户正在寻找烤箱。选择项目 4,因为没有烤箱在售。因为没有选项在售,所以它选择所列烤箱的最低项目 ID。

(示例结束)

那我该怎么办呢?任何答案将不胜感激!

select * from table_name where Type = type_specified_by_user order by On Sale, Item ID