如何设置一个系统,用户可以按价格,距离,相关性等对结果或列表进行排序?例如,您可以在YouTube上按视图,相关性或其他选项进行排序。
答案 0 :(得分:1)
1)如果100%的结果显示在同一页面上,您可以在客户端代码(HTML + JavaScript)中执行此操作。有几种方法可以做到这一点。你的问题太宽泛了,所以我能给你的最好的建议就是Google" html sortable table"和/或" javascript可排序表"。
最常见的方法是将表数据存储在数据结构(例如JSON数组)中,这是一个JS排序例程,用于生成重新排序的数组;并有一个JS子例程,它使用重新排序的数组的内容填充表格单元格内容。原始JSON数组由后端PHP脚本打印到页面中。
现有的JS脚本/库可以为您执行此操作,包括纯JS以及YUI和jQuery。
2)否则,您可以在后端执行此操作,并重新排序请使用"要排序的内容"参数,结果HTML已经包含在PHP脚本中预先排序的表数据(甚至在PHP脚本获取数据之前的数据库查询)。该算法(不是用PHP编写:)
order_by = get_CGI_parameter("order_by");
data_array = retrieve_data(order_by);
execute_view_code(data_array);
或
data_array = retrieve_data();
sorted_data_array = sort_data(data_array, order_by);
execute_view_code(sorted_data_array);
然后,您的HTML表格包含标题,这些标题是
形式的链接<A HREF="/your/cgi/script.php?order_by=column_name1">column_name1</A>
答案 1 :(得分:0)
您将拥有一个结果表,其中每个列(或其他位置)顶部都有一个链接。链接将是您所在页面的链接,其中添加了$_GET
变量添加到URL。此变量可用于SELECT
查询,该查询将在您再次输出数据之前使用SQL中的ORDER BY
选项为您排序数据。