如何根据数据库内容限制HTML表单中的选项?

时间:2017-08-18 10:59:10

标签: html wordpress forms

我正在寻找一种基于实际数据库内容动态限制搜索表单中的选项的方法。我的目标是加速搜索并避免空洞的结果...

我不知道用什么术语来描述这个(所以我的搜索可能很糟糕),而且我没有很多具体的例子,但这里有一个: Rendition Project database search。有四个"下拉"表单字段,第一个下面有20多个选项,第二个下面有超过30个选项,依此类推。

在给定示例中我感兴趣的行为如下:如果您将第一个字段设置为第一个选项[阿富汗],则第二个字段的选项会立即减少为两个[阿富汗/ COBALT和阿富汗/所有];反之亦然如果你有一张干净的表单并将第二个字段设置为阿富汗/布朗,那么第一个字段[土耳其和巴基斯坦]下只有2个选项。

这显然是将搜索范围缩小到可管理尺寸的优雅方式。在很大程度上,像亚马逊这样的网上商店也通过削减产品类别,然后根据品牌或质量评级("三颗或更多颗星"等),或包装尺寸和其他广告来显示这种行为-hoc类别,但是(a)这比我需要的要先进得多,而且(b)这远远不是示例的即时反馈,需要重新加载(正如预期用于查询具有数百万个项目的数据库;或者可能查询临时有数千个初步结果的表格。)

我有一个数据库,其中包含相似数量的产品[几百]和搜索条件[五];如在给定的示例中,一些字段值更加敏感" (因为,不同的值大大增加/减少数据库结果),其中五个搜索标准的一些组合给出几十个结果但是还有三个搜索标准的组合已经给出空结果。 [例如。对于五金店来说,显然是" 0--25 $"价格搜索将包含许多螺钉和钉子的结果,但链锯为零。]

所以我不希望我的访客必须找到敏感的"通过反复试验的价值!在给定的样本中,您可以在眼前看到灵敏度,从而根据需要设置/释放四个值。

这是一个用WordPress编写的网站,到目前为止还没有使用任何外部插件[load-data-from-CSV插件用于读取数据,并且是自编的插件定义了自定义帖子类型及其分类法等等;通过自编主题进行演示],只是默认表单字段等等。默认数据库等等。

1 个答案:

答案 0 :(得分:0)

你问的是一个复杂的程序。您必须使用的通用答案是AJAX。您所描述的此类数据操作在HTML级别是不可能的(尤其是敏感信息,如果在此时处理它,则意味着它已经暴露,攻击者只需按下F12 - 在窗户上。)

简单来说:

  1. 在按键上,使用以下命令对可用字段进行ajax搜索请求 给定字符串。
  2. 后端检索并提供以给定字符串开头的所有可能结果。
  3. 介绍AJAX成功时的可用值。
  4. 为了说清楚,这不是HTML问题。 HTML只负责格式化您想要呈现的内容。