Napisałem poniższy kod , chodzi o sortowanie wyników z bazy danych , są dwa "GETY" old oraz newest , po kliknięciu jest sprawdzane co zostało kliknięte(old lub newest) i ustawiana jest odpowiednia sesja, w podstronie sortowanie odbywa się w zależności od tego co jest w sesji,i ustawiany jest również odpowiedni link , jeśli sesja jest OLD , link jest NEWEST i analogicznie jesli sesja jest NEWEST ustawiany jest link OLD tak żeby zmieniać sortowanie, jednak nie działa to do końca prawidłowo ponieważ muszę klikać po dwa razy zanim wyniki się zmienią, czasami po kliknięciu link się nie zmienia i jest ten sam, aż kliknę go drugi raz, a powinno być za każdym razem zmieniane... Patrzę w to już jakiś czas i nie wiem gdzie jest błąd, poniżej kod odpowiedzialny za sesje.
{ { if ($_GET['dsort'] == 'old') { if ($_SESSION['sort_data'] == 'DESC') { $_SESSION['sort_data'] = 'ASC'; $sort_data = $_SESSION['sort_data']; /* echo "SESJA: ASC"; */ } elseif ($_SESSION['sort_data'] == 'ASC') { $sort_data = $_SESSION['sort_data']; /* echo "SESJA: ASC"; */ } } elseif ($_GET['dsort'] == 'newest') { if($_SESSION['sort_data'] == 'ASC') { $_SESSION['sort_data'] = 'DESC'; $sort_data = $_SESSION['sort_data']; } elseif ($_SESSION['sort_data'] == 'DESC') { $sort_data = $_SESSION['sort_data']; } } } { if ($_GET['dsort'] == 'old') { $_SESSION['sort_data'] = 'ASC'; $sort_data = $_SESSION['sort_data']; } elseif ($_GET['dsort'] == 'newest') { $_SESSION['sort_data'] = 'DESC'; $sort_data = $_SESSION['sort_data']; } } } { { $_SESSION['sort_data'] = 'DESC'; $sort_data = 'DESC'; } { /* echo "brak get istnieje sesja".$_SESSION['sort_data'].""; */ $sort_data = $_SESSION['sort_data']; } }