2011-07-05 50 views
0

我们有一组数据(只是地名),但有超过25k +的数据。我被问到是否有一种方法(总是存在),搜索这些数据,然后根据用户输入从这些数据中返回一个值。什么是对一组数据执行搜索的最简单方法

现在我的技能真的在于XHTML和CSS,我可以涉足JSP和JQuery,但我不确定这是最好的方法。难道我们:

  1. Store中的Access数据库中的数据,然后编写一个查询,选择基于用户输入的值?这个输出将需要显示在网页上。这需要做什么语言?

  2. 我发现一个jQuery的“快速搜索”插件,我认为这是极好的(http://lomalogue.com/jquery/quicksearch/super_table.html

现在我喜欢2这个想法),因为它在jQuery的做了,但我不认为这是可行的对于这种大小的数据,特别是不会像页面那样巨大(尽管我认为一些数据可能被隐藏)。有更简单的方法吗?我错过了什么吗?

欣赏这可能被认为含糊不清,但我不知道最好的办法是什么。

感谢

回答

1

从我对您正在开发的项目了解不多,似乎最好将数据划分为(可能是基于地理位置的)块。也许按州/省或按地点类型划分。然后,您可以根据此排序条件设计简单的SQL查询来从数据库中提取长名单。这些将允许您将可管理的数据量拉入页面。返回的数据块可以基于访问者的地理位置或基于用户输入(“选择区域”)。这些数据可以通过AJAX移动到页面上:http://api.jquery.com/jQuery.ajax/

我设想访问者选择一个区域。这样做会触发AJAX请求,该请求会发送到PHP脚本,该脚本在SQL查询中使用该“区域”,该脚本将该区域中的所有地名返回到PHP脚本。脚本完成后,AJAX请求(将耐心等待脚本完成)将以HTML格式抓取所有数据并将其返回到页面。然后,它将由页面上的jQuery来将其格式化为表格,然后QuickSearch实现它。

或者,你可以让PHP返回数据为JSON,这将使数据更易于管理,一旦它后面的页面上。但是,这需要熟悉JSON以及如何在jQuery/javascript中使用它。

+0

+1一个完整的解决方案建议是有道理的。 –

+0

真棒@arkigos感谢您的建议 – zik

0

是否确定,这将是最好有这个做服务器端在这种情况下,你应该将数据存储到数据库中。您将使用SQL语句来查询数据库中的条目(学习基本SQL并不难)。 SQL语句将嵌入您正在使用的任何服务器端脚本语言(PHP,JSP等)中。只需查看您的语言文档,了解如何访问数据库。

将数据存储/隐藏在网页中,然后使用Javascript/JQuery进行搜索将会非常缓慢(至少10秒左右)。这是可行的,并不是特别困难,但对于大多数应用来说,这种缓慢是不可接受的。

+0

感谢那些我在想什么,后者会慢得令人难以置信。我想这是更安全的选择去与数据库,也为一切,维修,加载时间更好,等 – zik

0

tskuzzy是正确的,但遗漏了一个关键点 - 这是AJAX工作非常好的类型。您可以将数据存储在数据库中,并在服务器端进行检索。您可以使用AJAX来传递用户值,并从服务器获取响应,然后使用jquery/javascript在进入时显示结果。这样,您就不会有固定的页面负载飞来飞去。

相关问题