2011-06-09 84 views
1

我在动态生成表格以及列标题。HTML表格 - 将标题中的链接放入排序? (No JavaScript)

如何让我点击列(NO JavaScript的!),这样会点击它们时,它们添加sort=columnNameHere项与查询,并与查询刷新当前页面?

+1

您使用哪种语言动态生成这些表? – 2011-06-09 18:02:00

+0

@Ian:好问题!我正在使用Django。 – Mehrdad 2011-06-09 18:06:09

+2

我如何用磐石敲打钉子? (没有锤子) – 2011-06-09 18:19:01

回答

2

这将有助于了解你的服务器端语言,但因为你没有包含,你想要的代码输出HTML如下...

<table> 
    <thead> 
     <th><a href="test.html?sort=Name">Name</a></th> 
     <th><a href="test.html?sort=Location">Location</a></th> 
    </thead> 
    <tr> 
     <td>Bob</td> 
     <td>Canada</td> 
    </tr> 
</table> 

服务器上你需要确保从get变量集合中获得sort变量并将其应用于源查询。在伪代码中,这可能类似于:

currentSort = Request["sort"] 
    data = db.Execute("select * from customersorder by " + sqlescape(currentSort)) 

    //write table header 
    foreach col in columns 
    write("<th><a href='test.html?sort=" + col + "'>" + col + "</a>") 

    //close header, start data 
    for each row in data  
    write... 
+0

是的,这几乎是我想要的,只不过它消除了当前页面上的所有查询。另外,我该如何说“当前页面”? – Mehrdad 2011-06-09 18:07:41

+0

什么服务器端语言? – 2011-06-09 18:09:11

+0

@Tim:Django,对不起,我没有在问题中提到。 – Mehrdad 2011-06-09 18:11:46

0

您必须在服务器端代码中抓取'sort'变量并将查询重新发送到数据源,以便您的表格以所需的方式填充。

为了添加链接,您需要动态生成href,以便将sort = columnnamehere附加到查询字符串。

如果您在构建服务器端代码时需要帮助,请提供有关您的设置(脚本语言,数据源等)的更多详细信息。

祝你好运!

+0

是的,这里的问题是我将如何重新发送当前的查询,稍作修改,如在这里;我可以轻松处理服务器端。 – Mehrdad 2011-06-09 18:13:13