【问题标题】:Filter entries using form使用表单过滤条目
【发布时间】:2014-01-05 01:36:16
【问题描述】:

我有一个使用 Bootstrap 构建的 ExpressionEngine 网站。这是一个供志愿者寻找可以帮助的项目的网站。在主页上,我有一个带有表单的模式,供他们选择何时可用以及他们正在寻找的工作类别。然后他们可以点击提交,它会转到一个包含过滤条目的新页面。

我不知道这是否可以在表单上使用 GET 方法或 POST 方法。我已经弄清楚如何使用 GET 方法并将查询字符串输入我的 URL,但我不知道如何使用该数据来过滤条目页面上的条目。还是使用 POST 和 JSON 是更好的选择?我真的不知道如何实施,所以任何帮助都会很棒。

非常感谢!

【问题讨论】:

  • P.S.如果有帮助,我可以发布代码。我目前正在本地开发它,或者我会发布一个链接。
  • 是的,如果可以的话,请在此处和 jsfiddle 发布代码。使用jsfiddle.com 通常非常有效。
  • @JoshBeam 这是我的小提琴。希望这会有所帮助。 jsfiddle.net/3shxg我正在研究您推荐的方法。我有一些阅读要做!
  • 好的,我查过了。我看到你只有 HTML 标记。但是,没有脚本,因此您的 HTML 都不会真正“做”任何事情。
  • @JoshBeam 感谢您的浏览!不幸的是,我还没有弄清楚那部分。在这一点上我真的不知道如何编写脚本,所以我必须做一些阅读。

标签: html json forms twitter-bootstrap expressionengine


【解决方案1】:

这取决于您要显示的信息的存储方式。

如果您使用 MySQL(一种常见的 RDMS)或任何其他形式的 SQL 数据库,最常见的方法是将您的 GET 查询字符串(例如)发送到您的服务器,使用服务器端语言(例如 PHP)通过访问您的数据库来处理该请求,然后回显结果。这可以同步完成,也可以使用 AJAX。

例如,一切的流程可能如下所示:

  1. 用户选择一个选项(例如,“园艺项目”)。

  2. JavaScript 将该输入选项的值转换为查询字符串,并使用 GET 方法发送 HTTP 请求。

  3. 这个请求的目的地是“filter.php”(例如)。

  4. “filter.php”使用 SQL 查询访问您的数据库,该查询会搜索您数据库中的任何条目,例如,具有“gardening”标签的条目。

  5. "filter.php" 回显带有这些条目的语句(或者,更好的是,返回 JSON 对象)

  6. JavaScript 然后将生成的 JSON 对象解析为 DOM,DOM 在结果区域中显示为一组链接,您的用户可以点击这些链接。

您对如何处理此问题的疑问非常广泛,因此我建议您简单地进行一些 Google 搜索或在本网站上查找资源,以了解如何设置数据库、使用可能的 PHP/SQL 访问这些数据库、甚至可能使用 AJAX 来返回这些结果,等等。

让你开始(这些没有特别的顺序):

  1. AJAX Tutorial
  2. PHP - JSON encode
  3. SQL tutorial
  4. jQuery AJAX

【讨论】:

  • 谢谢!我一定会调查的。
【解决方案2】:

我在@JoshBeam 的帮助下弄明白了。事实证明,我试图让它变得比实际更复杂。菜鸟失误。最后,我最终在表单中使用了method=get,并将操作设置为带有过滤条目的页面。然后我使用 php 将输入回显到我的 EE 通道:条目标记中。

我还没有弄清楚的一件事是如何做到这一点,以便我的查询字符串将结合匹配名称的值。目前我有一周中的几天的复选框,每个都有name="day",并且每天都有不同的值。如果有多个检查,当我宁愿将它作为 example.com/?day=sun&mon 时,我的查询字符串将变为 example.com/?day=sun&day=mon。因此,如果有人对此有任何建议,我会欢迎他们!我还想知道当我在我的 EE 标签中回显每个值时是否有办法在每个值之间添加管道,以便我可以有多个 - 例如{exp:channel:entries category="1|2|3"}。但我真的还没有谷歌这些问题,所以我会这样做。

谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    相关资源
    最近更新 更多