Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Sortowanie tabelki, ASC , DESC w linku
citek10
post 31.03.2011, 15:07:56
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 9.06.2008

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


Witam.

Czy zna może ktoś w jaki sposób za pomocą linku sortować tabelę , czyli tak naprawdę wykonać zapytanie na bazie , raz sortując rosnąco (ASC) a raz malejąco (DESC)?

Nie chodzi mi tu o stworzenie zapytania tylko jak do zapytania, po pierwszym kliknieciu w link, przekazać ASC a w po kolejnym kliknięciu przekazać DESC i tak w kółko ?
Go to the top of the page
+Quote Post
Mackos
post 31.03.2011, 15:09:46
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Wystarczy użyć proste $_GET
i do tego funkcja warunkowa if albo case wink.gif


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
citek10
post 31.03.2011, 15:21:28
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 9.06.2008

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


Nie do konca kumam z tym $_GET.
Ja tego $_GET używam do pobierania zmiennych bo mam na serwerze ustawione register_globals na false.
Ale nie kumam jak to moge przełozyć na to żeby raz widzieć że sortowanie ma być ASC lub DESC.

Dodam że link tworze statycznie czyli <a href=.....?zm=1>.....</a>

Mozesz podac jakiś przykład, fragment kodu?
Go to the top of the page
+Quote Post
Mackos
post 31.03.2011, 16:05:09
Post #4





Grupa: Zarejestrowani
Postów: 362
Pomógł: 44
Dołączył: 10.06.2009

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


Przykładowy link:
  1. <a href="strona.php?i=1">od najwiekszego</a>
  2. <a href="strona.php?i=2">od najmniejszego</a>

I teraz magia:
  1. $get=$_GET['i']; // to najlepiej jeszcze przefiltrować
  2.  
  3. switch($get){
  4. case '1':
  5. $sql=mysql_query("SELECT * FROM tabelka ORDER BY DESC");
  6. break;
  7.  
  8. case '2':
  9. $sql=mysql_query("SELECT * FROM tabelka ORDER BY ASC");
  10. break;
  11.  
  12. default:
  13. $sql=mysql_query("SELECT * FROM tabelka");
  14. break;
  15.  
  16. }

I na końcu listujesz wdług zmiennaj $sql, mam nadzieje że wystarczająco jasno wink.gif


--------------------
WebLemon.pl - projektowanie stron www, reklama i PR w internecie - Adwords, Facebook.
Go to the top of the page
+Quote Post
wiiir
post 31.03.2011, 17:31:09
Post #5





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


Cytat(Mackos @ 31.03.2011, 17:05:09 ) *
Przykładowy link:
  1. <a href="strona.php?i=1">od najwiekszego</a>
  2. <a href="strona.php?i=2">od najmniejszego</a>

I teraz magia:
  1. $get=$_GET['i']; // to najlepiej jeszcze przefiltrować
  2.  
  3. switch($get){
  4. case '1':
  5. $sql=mysql_query("SELECT * FROM tabelka ORDER BY DESC");
  6. break;
  7.  
  8. case '2':
  9. $sql=mysql_query("SELECT * FROM tabelka ORDER BY ASC");
  10. break;
  11.  
  12. default:
  13. $sql=mysql_query("SELECT * FROM tabelka");
  14. break;
  15.  
  16. }

I na końcu listujesz wdług zmiennaj $sql, mam nadzieje że wystarczająco jasno wink.gif

Przyklad dobry ale ja bym w switchu ustawial zmienna tylko do sortowania a pozniej doklejal do zapytania bo jak sie nam zapytanie zmieni to juz musimy edytowac je w trzech miejsach smile.gif

Go to the top of the page
+Quote Post
citek10
post 31.03.2011, 18:08:02
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 9.06.2008

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


Kumam, kumam.

Dodam, bo może nie napisałem jasno, chciałbym mieć jeden link a nie dwa. Ale ok, rozumiem, że w zależności od zmiennej i raz dam linka z i=1 a raz i=2.

Dzięki za podpowiedź
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 02:49