La forma más sencilla de hacer esto sería poner un enlace en los encabezados de las columnas, que apunte a la misma página. En la cadena de consulta, coloque una variable para que sepa en qué hicieron clic y luego use ORDER BY en su consulta SQL para realizar el pedido.
El HTML se vería así:
<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>
Y en el código php, haz algo como esto:
<?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";
}
$>
Tenga en cuenta que no debe tomar el valor $_GET directamente y agregarlo a su consulta. Como algún usuario pudo llegar a MyPage.php?sort=; ELIMINAR DE MiTabla;