高级搜索页面上的实时MySQL搜索结果

时间:2010-05-09 08:14:57

标签: php mysql ajax real-time

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

我喜欢编程,但我没有多少空闲时间,享受各种其他兴趣和活动。

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

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

因为高级搜索是如此全面,并且因为数据库相当小(最大点击次数少于1,200次),所以您选择的每个变量都包含了获得任何合格结果的可能性大幅下降。

在我的幻想之地,我可以像使用Excalibur一样使用AJAX,我的用户在使用此页面时会在屏幕的一角有一个实时Total Results计数器,这会自动更新其查询结构和报告添加每个变量将显示多少结果。通过这种方式,可以毫不费力地知道有多少变量就足够了,当你离开并添加了一个将结果集清零时。

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

对于那些真正读过这篇文章的人来说,我的问题非常简单:

考虑到时间&上面概述的能力限制,我能够学习足够的 AJAX(或其他什么)来解决这个功能而不会有太多麻烦吗?我可以或多或少地插入预先编写的代码片段并调整以适应吗?或者我应该考虑将我的代码打开到可信赖的&这个实施的未来有能力的个人? (假设我能找到一个......)

谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

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

  1. 用户更改了一个字段 高级搜索页面。
  2. 用户的 浏览器收集所有字段 值并将它们发送回 服务器
  3. 服务器执行 搜索值和返回 结果数
  4. 用户的 浏览器收到的号码 结果并更新显示。
  5. 现在了解实施细节:

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

答案 1 :(得分:0)

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

如果这有一定意义,那么您的功能可能会“无需太多麻烦”。如果它看起来难以穿透,那么可能不会。