【问题标题】:Realtime MySQL search results on an advanced search page高级搜索页面上的实时 MySQL 搜索结果
【发布时间】:2010-05-09 08:14:57
【问题描述】:

我是一个业余爱好者,去年 9 月开始学习 PHP,只是为了建立一个我一直希望并梦想着另一个更有能力的人可以制作的业余爱好网站。

我喜欢编程,但我的空闲时间很少,并且喜欢广泛的其他兴趣和活动。

我觉得单独学习 PHP 可能可以让我为我的网站创建 98% 的所需功能,但最后 2% 非常吸引人:

该网站最强大的工具是一个高级搜索页面,它可以从 1000 多个记录的游戏场景数据库中进行选择。用户可以深入挖掘数据——这个高级页面有超过 50 个不同的潜在变量。它旨在允许核心用户搜索我们数据库中几乎任何可能的数据组合,并且效果很好。那些对涉足选项海洋不感兴趣的人可以使用基本搜索,它由高级搜索中最受欢迎的部分组成。

由于高级搜索非常全面,而且数据库相当小(最大潜在命中数少于 1,200 个),因此您选择的每个变量都包含获得任何合格结果的可能性急剧下降。

在我可以像使用 Excalibur 一样使用 AJAX 的幻想世界中,当我的用户使用此页面时,他们的屏幕角落会出现一个实时 Total Results 计数器,它会自动更新其查询结构并报告如何随着每个变量的添加,将显示许多结果。这样一来,就可以毫不费力地知道有多少变量就足够了,以及何时添加了一个将结果集归零的变量。

在 IBuyPower.com 上构建新的自定义计算机时,Subtotal 侧边栏至少在视觉上有点相似

对于那些仍在阅读本文的人,我的问题真的很简单:

考虑到上述时间和能力限制,我是否能够学习足够 AJAX(或其他任何东西)来实现这一功能而不会遇到太多麻烦?我是否能够或多或少地插入预先编写的代码 sn-p 并调整以适应?或者我应该考虑在未来将我的代码开放给一个值得信赖和有能力的人来实现这个实现? (假设我能找到一个……)

谢谢。

【问题讨论】:

  • 一般来说,推测某人(基于非常短的简历)学习某些东西的能力(尤其是当 something 有点模糊时——现有的代码库可能很简单并且易于修改,或者它不能)是毫无意义的。
  • 我努力避免这种评论,但我想我的痛苦还不够大。也许如果我改写为“通过 AJAX 实现实时查询结果是否会被那些经常使用 AJAX 的人视为初学者、中级或高级编程成就?”这样客观吗?

标签: php mysql ajax real-time


【解决方案1】:

对于初学者来说,这是一个很棒的项目。

首先我想说看看使用像 jquery (jquery.com) 这样的库。它将简化其中的javascript部分,并且手册非常好。

您要做的事情可以分解为几个步骤:

  1. 用户更改了 高级搜索页面。
  2. 用户的 浏览器收集所有字段 值并将它们发送回 服务器。
  3. 服务器执行 搜索值并返回 结果数
  4. 用户的 浏览器收到的数量 结果并更新显示。

现在了解实现细节:

  1. 这可以通过 javascript 事件来完成,例如 onchange 和 onfocus。
  2. 您可以将字段值收集到一个 javascript 对象中,将该对象序列化为 json,然后使用 ajax 将其发送到您服务器上的一个 php 页面。
  3. 服务器页面(在 php 中)将读取 json 对象并使用数据进行搜索,然后将结果作为标记或文本发送回。
  4. 然后您可以直接在浏览器中显示结果。

这可能看起来很多,但您可以进一步分解每个步骤并一点一点地了解细节。

【讨论】:

    【解决方案2】:

    在不知道您的专业水平的情况下很难回答您的问题,但请查看 AJAX 的简短描述:http://blog.coderlab.us/rasmus-30-second-ajax-tutorial

    如果这有点道理,那么您的功能可能“没有太多麻烦”触手可及。如果它看起来难以穿透,那可能不是。

    【讨论】:

      猜你喜欢
      • 2010-09-29
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多