我有一个带有唯一ID的mysql表,我将它们显示在html表中。对于那些好奇的人,这是代码。
<?php
require_once '../page.php';
require 'checklogin.php';
$page = new Page();
$page->title = 'View Students';
$page->sidebarliab = true;
$lastvari;
$id = $_GET['id'];
echo $id;
// Connect to database
$con = new mysqli($mysqlurl, $mysqlusername, $mysqlpassword, $mysqldatabase);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Prepare to select all students
$stmt = $con->prepare("SELECT Last_Name, First_Name, Student_ID FROM Students LIMIT 30");
$stmt->execute(); // Execute the query
$stmt->bind_result($last_name, $first_name, $student_id); // Bind variables to the result of the query
?>
<h2 style='margin-left:1%'>All Students</h2>
<table id='liabilityTable'>
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Student ID</th>
<th>Homeroom</th>
<th>Number of Liabilities</th>
</tr>
</thead>
<tbody>
<?php
while($stmt->fetch()) {
echo "<tr>";
?>
<td><?=$last_name?></td>
<td><?=$first_name?></td>
<td><?=$student_id?></td>
<?php
echo "<td></td>";
echo "<td></td>";
echo "</tr>";
$lastvari = $student_id;
}
$stmt->close(); // Close the statement
$con->close(); // Close connection to database
?>
</tbody>
</table>
<a href=<?php echo "students_view.php?id=$lastvari"; ?>><button type="button">Next Page</button></a>
所以基本上,这是一张桌子。我希望能够单击顶行并能够按字母顺序组织它(比如点击姓氏将按姓氏组织,点击ID将是数字,等等,就像在Windows资源管理器中一样)。有谁知道我怎么能这样做?无论是解决方案还是只是指向正确的方向都绝对是太棒了。
答案 0 :(得分:2)
只需创建一个链接(例如:<th><a href="?order_by=last_name">Last name</a></th>
)
比添加到你的代码大开关:
$order_by = '';
switch($_GET['order_by']){
case 'last_name': // Value in your order_by A Href
$order_by = 'Last_Name'; // Name of column in DB
break;
.
.
.
default:
$order_by = 'your default value';
}
然后添加到您的查询
$stmt = $con->prepare("SELECT Last_Name, First_Name, Student_ID FROM Students ORDER BY " . $order_by . " ASC LIMIT 30");
也许您会想到为什么不跳过那个大转换并将$ _GET变量直接放到SQL查询中? 请勿这样做!有了这个黑客或任何人都可以轻松访问您的数据库......
答案 1 :(得分:0)
:
以下几个备选方案:)
jqtablekit:一个简单的tableorter
tablesorter:实际上是一个具有各种功能的插件,没有提到镀铬支持
gabriele:也是一个带有工作演示的简单tableorter