2013-03-24 92 views
-2

我希望能够通过点击标题来排序表。我在网上找到了一些关于如何做到这一点的例子,但是当我尝试关注它们时,我得到了错误。任何帮助将不胜感激。这里是我用来从MySQL创建表的PHP代码。按标题排序表

<?php 
session_start(); 
$Town = $_POST['Town']; 
$Range = $_POST['Range']; 
$Section = $_POST['Section']; 

$con = mysql_connect('server, 'database', 'password'); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("ncwrpc", $con); 

$sql = "SELECT * FROM `index8` WHERE `MAPID` = $Town$Range$Section LIMIT 0, 500 "; 

$result = mysql_query($sql); 
echo "<table border='2' cellpadding='5' cellspacing='2' bordercolor='#000000' bgcolor='#B8B8B8' > 
<tr> 

<h2>TOWN: $Town N - RANGE: $Range E - SECTION: $Section</h2> 
<th bgcolor=\"#669999\">MAP</th> 
<th bgcolor=\"#669999\">DESC. 1</th> 
<th bgcolor=\"#669999\">DESC. 2</th> 
<th bgcolor=\"#669999\">REMARKS</th> 
<th bgcolor=\"#669999\">SURVEYOR</th> 
<th bgcolor=\"#669999\">CLIENT</th> 
<th bgcolor=\"#669999\">YEAR</th> 
</tr>"; 

$color = "0"; 
while($row = mysql_fetch_array($result)) 
{ 
    if($color == "0"){ 
     echo "<tr>"; 
     echo "<td bgcolor=\"#FFFFFF\"><a href=\"".$row['LINK']."\" target=\"_blank\">".$row['MAP1']."</a></td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Desc1'] . "</td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Desc2'] . "</td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Remarks'] . "</td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Surveyor'] . "</td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Client'] . "</td>"; 
     echo "<td bgcolor=\"#FFFFFF\">" . $row['Y'] . "</td>"; 
     echo "</tr>"; 
     $color = "1"; 
    }else{ 
     echo "<tr>"; 
     echo "<td bgcolor=\"#FFF380\"><a href=\"".$row['LINK']."\" target=\"_blank\">".$row['MAP1']."</a></td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Desc1'] . "</td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Desc2'] . "</td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Remarks'] . "</td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Surveyor'] . "</td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Client'] . "</td>"; 
     echo "<td bgcolor=\"#FFF380\">" . $row['Y'] . "</td>"; 
     echo "</tr>"; 
     $color = "0"; 
    } 
} 


?> 
+0

当你写“我有错误“,你应该说他们在哪里以及哪些错误。不要说“第5行”,因为我们不知道哪一行是行号。 5. – Voitcus 2013-03-24 13:52:31

+0

这里缺少一个撇号'$ con = mysql_connect('server,'database','password');' – Voitcus 2013-03-24 13:53:25

+0

上面没有任何错误可以正常工作。只是想添加排序。是的,上面提到的mysql _connect存在错误,我只是从这篇文章中删除了服务器名称等。我将按照下面的建议查看jquery。 – user2204589 2013-03-24 17:21:49

回答

1
你可能想看看jQuery的数据表( http://www.datatables.net/

做这个工作,更适合你的开箱。

如果你真的想在mysql中解决它,只需在你的SQL查询中添加一个SORT BY field(其中field是你想要排序的字段的占位符)。那么你可以在html代码中将这个字段添加到你的排序链接中。

1

你可以操纵HTML,使用jQuery通过简单的对数据进行排序,有免费的插件,像这样this一个plenity很多simplier,速度更快,成本更低的请求到服务器