-1

我希望能够通过单击标题对表格进行排序。我在网上找到了一些如何做到这一点的例子,但是当我尝试遵循它们时,我得到了错误。任何帮助将不胜感激。这是我用来从 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"; 
    } 
}  


?>
4

2 回答 2

2

您可能想看看 jQuery 数据表 ( http://www.datatables.net/ ) 是否可以完成这项工作以及开箱即用的更多功能。

如果你真的想在 mysql 中解决它,只需在你的 sql 查询中添加一个SORT BY fieldfield你想要排序的字段的占位符在哪里)。然后您可以将此字段添加到 html 代码中的排序链接。

于 2013-03-24T13:54:26.937 回答
2

您可以通过简单地操作 html 来对数据进行排序,使用 jquery,有很多像这样的免费插件,这样对您的服务器的请求更简单、更快且成本更低

于 2013-03-24T13:58:21.037 回答