A nie łatwiej zrobić dwa odnośniki? Ale jak się tak upierasz przy jednym to ok. Piszę z głowy więc pomysł może nie być jakiś mega funkcjonalny.
if($_GET['sort'] == "sortuj") {
if(isset($_SESSION['klik'])) { $query = "SELECT * FROM kategorie WHERE cos = 'cos' ORDER BY kategoria_data_dodania DESC";
$_SESSION['klik'] = "";
} else {
$query = "SELECT * FROM kategorie WHERE cos = 'cos' ORDER BY kategoria_nazwa DESC";
$_SESSION['klik'] = 1;
}
} else {
// wyswietl tabele czy co tam z lista linkow
}
Link wygląda tak
<a href="plik.php?sort=sortuj">sortuj
</a>
Liczbę kliknięć zapisujesz w zmiennej sesyjnej $_SESSION['klik']. Jeżeli jest ona pusta to wykonujesz sortowanie alfabetyczne i zapisujesz wartość 1 do zmiennej. W taki sposób za drugim kliknięciem instrukcja warunkowa wychwyci, że w zmiennej jest wartość i zastosuje sortowanie wg. daty dodania. Czyścimy zmienną, i za następnym kliknięciem w link rozpoczynamy wszystko na nowo. Mam nadzieję, że zadziała. Na chwilę obecną nie miałem lepszego pomysłu