按列排序MySQL数据库

时间:2016-05-24 05:03:53

标签: php mysql sorting

我希望按列对MySQL数据库进行排序。我有一个小型数据库,想要从低到高对特定列进行排序;然后从高到低。它应该在数据排序后保存。

我想在我的网站设置上按下按钮(超链接?)来执行此操作,该按钮在简单的html表格中显示MySQL的记录。

我找到了一些代码,(下面)

ALTER TABLE tablename ORDER BY columnname ASC;.

虽然我不确定如何实际实现此代码。任何有关如何实现此代码的帮助都将大大减少。

2 个答案:

答案 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>