我希望按列对MySQL数据库进行排序。我有一个小型数据库,想要从低到高对特定列进行排序;然后从高到低。它应该在数据排序后保存。
我想在我的网站设置上按下按钮(超链接?)来执行此操作,该按钮在简单的html表格中显示MySQL的记录。
我找到了一些代码,(下面)
ALTER TABLE tablename ORDER BY columnname ASC;.
虽然我不确定如何实际实现此代码。任何有关如何实现此代码的帮助都将大大减少。
答案 0 :(得分:0)
创建索引
和
在查询中使用ORDER BY子句
CREATE INDEX tablename01 ON tablename (columnname);
答案 1 :(得分:0)
<?php
$sort = $_GET['sort'];
$con = mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// SQL query
$sql = "SELECT * FROM table_name ORDER BY column_name ";
// Attach sort order
switch (strtolower($sort))
{
case: 'asc':
$sql .= 'ASC';
break;
case: 'desc':
$sql .= 'DESC';
break;
default:
$sql .= 'ASC';
}
if ($result=mysqli_query($con,$sql))
{
// Fetch one and one row
while ($row=mysqli_fetch_row($result))
{
// Print result
printf ("%s (%s)\n",$row[0],$row[1]);
}
// Free result set
mysqli_free_result($result);
}
mysqli_close($con);
// Reverse sort order for link
$sort = strtolower($sort) == 'asc' ? 'desc' : 'asc';
?>
<a href="<?php echo $_SERVER['PHP_SELF'] . '?sort=' . $sort">Change sort</a>