2016-05-24 16 views
0

MySQLデータベースを列でソートするとします。私は小さなデータベースを持っていて、特定の列を低から高にソートしたい。それから高から低。ソート後にデータを保存する必要があります。MySQLデータベースを列で並べ替える

私は、単純なhtmlテーブルにMySQLのレコードを表示する私のウェブサイトの設定で、ボタン(ハイパーリンク?)を押すことでこれを行いたいと思います。

私は実際にこのコードを実装する方法がわからないよものの

ALTER TABLE tablename ORDER BY columnname ASC;. 

(下記)、いくつかのコードを発見しました。このコードをどのように実装するかについての助けがあれば、大きな助けになるでしょう。

答えて

0

は、インデックス作成

とクエリでORDER BY句

使用ORDER、

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>