Il mio problema è il seguente: ho una tabella con le intestazioni di colonna cliccabili.
In base all'intestazione cliccata i dati mi vengono ordinati in base a quel campo.
Fin qui tutto ok.
Ciò che vorrei realizzare è far sì che cliccando ulteriormente sulla stessa colonna i dati vengano riordinati nel senso opposto, quindi da asc a desc e viceversa.
E' da un bel pò che mi ci sto sbattendo senza venirne a capo. Immagino che occorra memorizzare l'ordine di visualizzazione magari in una variabile di sessione e, una volta cliccato il campo, eseguire l'ordinamento con la variabile di sessione "opposta" ma non riesco a metterlo in pratica.
Qualcuno è così gentile da darmi una mano? Grazie.
Il codice di partenza è questo.
Codice PHP:
<?php
$conn = mysql_connect($server,$user,$pass) or die($errConnessione);
mysql_select_db($database) or die ($errSelezione);
$query = "select idcontatto,cognome,nome,comune,email from contatti where comune = \"Olbia\"";
if (isset($_GET['order']))
{
$ordinaPer = $_GET['order'];
$query .= " ORDER BY ".$ordinaPer." ";
}
$rs = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($rs);
if ($num == 0)
echo "<div style=\"text-align:center\">Nessun contatto presente nel comune</div>";
else
{
?>
<table border="1">
<tr>
<td align="center">[b][url="cartina3.php?order=<?php echo urlencode("]">Cognome[/url][/b]</td>
<td align="center">[b][url="cartina3.php?order=<?php echo urlencode("]">Nome[/url][/b]</td>
<td align="center">[b][url="cartina3.php?order=<?php echo urlencode("]">E-mail[/url][/b]</td>
</tr>
<?php
while($results = mysql_fetch_array($rs))
{
echo "<tr>";
$idcontatto = $results['idcontatto'];
echo "<td width=\"25%\">$results[cognome]</td>";
echo "<td width=\"25%\">$results[nome]</td>";
echo "<td width=\"25%\">$results[email]</td>";
echo "</tr>";
} //fine ciclo while
} //fine else nel caso ci sia almeno un contatto nel comune
?>