Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trier les lignes du tableau HTML appelées depuis MySQL

La façon la plus simple de le faire serait de mettre un lien sur vos en-têtes de colonne, pointant vers la même page. Dans la chaîne de requête, placez une variable afin que vous sachiez sur quoi ils ont cliqué, puis utilisez ORDER BY dans votre requête SQL pour effectuer le tri.

Le code HTML ressemblerait à ceci :

<th><a href="mypage.php?sort=type">Type:</a></th>
<th><a href="mypage.php?sort=desc">Description:</a></th>
<th><a href="mypage.php?sort=recorded">Recorded Date:</a></th>
<th><a href="mypage.php?sort=added">Added Date:</a></th>

Et dans le code php, faites quelque chose comme ça :

<?php

$sql = "SELECT * FROM MyTable";

if ($_GET['sort'] == 'type')
{
    $sql .= " ORDER BY type";
}
elseif ($_GET['sort'] == 'desc')
{
    $sql .= " ORDER BY Description";
}
elseif ($_GET['sort'] == 'recorded')
{
    $sql .= " ORDER BY DateRecorded";
}
elseif($_GET['sort'] == 'added')
{
    $sql .= " ORDER BY DateAdded";
}

$>

Notez que vous ne devez pas prendre directement la valeur $_GET et l'ajouter à votre requête. Comme certains utilisateurs pourraient accéder à MyPage.php?sort=; SUPPRIMER DE MaTable ;