Mysql
 sql >> Database >  >> RDS >> Mysql

Come ordinare le righe della tabella HTML che vengono chiamate da MySQL

Il modo più semplice per farlo sarebbe inserire un collegamento nelle intestazioni delle colonne, che punta alla stessa pagina. Nella stringa di query, inserisci una variabile in modo da sapere su cosa hanno fatto clic, quindi utilizza ORDER BY nella query SQL per eseguire l'ordine.

L'HTML sarebbe simile a questo:

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

E nel codice php, fai qualcosa del genere:

<?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";
}

$>

Nota che non dovresti prendere il valore $_GET direttamente e aggiungerlo alla tua query. Poiché alcuni utenti potrebbero accedere a MyPage.php?sort=; ELIMINA DA MyTable;