根据选择菜单中选择的选项显示记录

时间:2019-02-21 16:25:13

标签: sql database

我有一个产品表,如果表为true,则产品表中的列available的数据类型为boolean。如果为false,则产品可用。

所以我有一个选择菜单,但是我对如何显示选项“全部”,“不可用”和“可用”表示怀疑,这些值可以像下面一样是静态的,还是应该来自数据库? >

 <select>
  <option value="0">Not Available</option>
  <option value="1">Available</option>
  <option value="2">All</option>
</select>

然后您知道如何执行sql查询以仅获取其可用性列等于用户选择的可用性的记录,并在用户选择“全部”时显示所有记录吗?要根据用户选择的可用性来获取产品,这应该可行:

Select * from products where availability = selectedOption

但是您是否知道如果用户选择“全部”,查询将显示所有产品,并且在访问页面时默认显示所有产品?

1 个答案:

答案 0 :(得分:0)

让我们一个一个地解决这个问题:

  

所以我有一个选择菜单,但是我对如何显示选项“全部”,“不可用”和“可用”表示怀疑,这些值可以像下面一样是静态的,还是应该来自数据库? >

这取决于您,可以将这个选项存储在数据库中并动态加载,也可以按照您的方式进行操作(静态选项)。

  

然后您知道如何执行sql查询以仅获取其可用性列等于用户选择的可用性的记录,并在用户选择“全部”时显示所有记录吗?

您没有指定正在使用的语言,但是您走的路正确。您必须动态构建此select语句,并且用户最终选择的选项为parameter。但是,对于“全部”选项,您将必须执行以下操作(这是伪代码,请适应您的语言):

if selectedOption === 'All' then
    select * from products
else
    select * from products where availability = selectedOption

当然,此代码也有变种,这只是供您理解。