Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zmiana sortowania rekordów w bazie za pomocą odnośnika
Zagiewa
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.08.2009

Ostrzeżenie: (0%)
-----


Witam. Chcę trochę przebudować mój skrypt wyświetlający bazę linków i mam jedno pytanko ale najpierw wytłumaczę jak to obecnie wygląda. Posiadam zapisane w bazie MySQL listę linków posegregowanych w kategorie. Wyświetlam je na stronie za pomocą pętli w pięciu kategoriach z czego nazwa kategorii jest tylko nazwą. Lista wyświetlanych linków jest segregowana od najnowszego do najstarszego za pomocą ORDER BY nazwa_kolumny DESC i gdy bym chciał zmienić sposób sortowania wystarczy, że zamiast DESC użyję czegoś innego ale ja chcę to zrobić inaczej. Chcę z nazwy kategorii która obecnie jest tekstem zrobić link który po kliknięciu posegreguje je najpierw alfabetycznie a jak kliknę raz jeszcze posegreguje je według ostatnio dodanego i pytanie. Jak ma wyglądać odnośnik aby spowodował zmianę sortowania?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dziamber
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 18
Dołączył: 15.04.2009
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


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.
  1. if($_GET['sort'] == "sortuj") {
  2. if(isset($_SESSION['klik'])) {
  3. $query = "SELECT * FROM kategorie WHERE cos = 'cos' ORDER BY kategoria_data_dodania DESC";
  4. $_SESSION['klik'] = "";
  5. } else {
  6. $query = "SELECT * FROM kategorie WHERE cos = 'cos' ORDER BY kategoria_nazwa DESC";
  7. $_SESSION['klik'] = 1;
  8. }
  9. } else {
  10. // wyswietl tabele czy co tam z lista linkow
  11. }

Link wygląda tak
  1. <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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Zagiewa
post
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.08.2009

Ostrzeżenie: (0%)
-----


Co prawda zaraz dopiero wprowadzę skrypt do kodu ale konstrukcja jest banalna więc poradzę sobie bez problemu - dzięki wielkie (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:59