我们有一组数据(只是地方名称),但超过25k +。我被问到是否有办法(总是存在),搜索这些数据,然后根据用户输入从这些数据中返回一个值。
现在我的技能真的在于XHTML和CSS,我可以涉足JSP和JQuery,但我不确定最好的方法。我们可以:
将数据存储在访问数据库中,然后编写查询以根据用户输入选择值?然后,此输出将需要显示在网页上。但是,这需要用什么语言?
我找到了一个JQuery'Quicksearch'插件,我觉得这很好(http://lomalogue.com/jquery/quicksearch/super_table.html)
现在我喜欢2)的想法,因为它是在JQuery中完成的,但我不认为这对于这个大小的数据是可行的,特别是因为页面不会很大(尽管我假设某些数据可能被隐藏) 。有更简单的方法吗?我错过了什么吗?
欣赏这可能被视为含糊不清,但我不知道最好的方法是什么。
由于
答案 0 :(得分:1)
从我对你正在研究的项目知之甚少,最好将数据划分为(可能是基于地理位置的)块。可能是州/省或地方类型。然后,您可以设计简单的SQL查询,以根据此排序条件从数据库中提取长列表。这些将允许您将可管理的数据量提取到页面中。返回的数据块可以基于访问者地理位置或基于用户输入(“选择区域”)。这些数据可以通过AJAX移动到页面:http://api.jquery.com/jQuery.ajax/
我设想访客选择一个地区。这样做会触发AJAX请求,该请求将发送到PHP脚本,该脚本在SQL查询中使用该“区域”,该脚本将该区域中的所有地名返回给PHP脚本。脚本完成后,AJAX请求(将耐心等待脚本完成)将把所有数据作为HTML抓取并将其拉回到页面。然后由页面上的jQuery将其格式化为一个表格,然后QuickSearch就会变得神奇。
或者,您可以让PHP将数据作为JSON返回,这样一旦它返回到页面上,这将使数据更易于管理。但是,这需要熟悉JSON以及如何在jQuery / javascript中使用它。
答案 1 :(得分:0)
如果没问题,最好在服务器端完成此操作,在这种情况下,您应该将数据存储到数据库中。您将使用SQL语句来查询数据库中的条目(学习基本SQL并不困难)。 SQL语句将嵌入您正在使用的任何服务器端脚本语言(PHP,JSP等)。只需查看您的语言文档,了解如何访问数据库。
将数据存储/隐藏在网页中然后使用Javascript / JQuery进行搜索将非常缓慢(至少10秒左右)。它是可行的而不是特别困难,但对于大多数应用来说,这种迟缓是不可接受的。
答案 2 :(得分:0)
tskuzzy是对的,但遗漏了一个关键点 - 这是AJAX非常适合的类型。您可以将数据存储在数据库中,并在服务器端检索它。您可以使用AJAX来回传递用户值,并从服务器获取响应,然后使用jquery / javascript在它们进入时显示结果。这样,您就不会有持续的页面加载。