2016-05-24 72 views
0

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

我想按下一个按钮(超链接?)在我的网站设置,显示MySQL的记录在一个简单的HTML表中。

我发现一些代码,(如下图)

ALTER TABLE tablename ORDER BY columnname ASC;. 

虽然我不能确定如何真正实现这个代码。如何实现这个代码的任何帮助都会大大增加。

回答

0

创建索引

使用ORDER BY在你的查询子句,

CREATE INDEX tablename01 ON tablename (columnname); 
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>