Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][sql] zagmatwane sortowanie
gojira
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 14.10.2007

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


po paru godzinach szukania, albo ja kiepsko szukam, albo zmeczenie juz

ale mam takie dwa problemy:

1) po wyrzuceniu wynilow wyszukiwania na ekran, prz nazwach kolumny mam strzalki, chce aby po nacisnieciu ustrzalki, wynik wyszukiwania sortowal sie wg kolumny ktora zostala posortowana od najwiekszych do najmniejszy itd.
  1. <?php
  2. <a href=&#092;"produkty.php?\"><img src='004.jpg' alt='Sortowanie Rosnaco wg NAZWY' /></a>
  3. Nazwa
  4. <a href=&#092;"produkty.php?\"><img src='066.jpg' alt='Sortowanie Malejaco wg NAZWY' /></a>
  5. ?>

wiem ze to mniejwiecej tak ma wygladac, nie wiem jednak co ma byc po .php?...
chodzi o sortowanie na danej stronie czyli bez ladowania

2) i niestety drugi problem:

musze zrobic wyniki wyrzycane na ekran stronami, znaczy sie tak ze mam 14 wynikow wyszukiwania, i wyswietlam je po 10, a nastepna strona to te 4...
szukalem wszedzie i powiem szczerze ze raczej nie znalazlem nic na ten temat
z gory dzieki za pomoc
Go to the top of the page
+Quote Post
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


1. Jeżeli bez przeładowania, to tylko AJAX. Poszukaj na googlach klasy advAjax, na głównej stronie w przykładach masz takie coś
2. Stronicowanie to bardzo popularny temat, więc chyba niezbyt starannie szukałeś. Zobacz np klasę, którą ma @nospor w podpisie winksmiley.jpg

Ten post edytował drPayton 28.10.2007, 23:23:58
Go to the top of the page
+Quote Post
gojira
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 14.10.2007

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


faktycznie wystarczylo zmienic na porcjowanie i znalazlem cos o stronicowaniu, ale w moim przypadku ajax odpada, to znaczy mam w planach nauke go, jaknajbardziej biggrin.gif ale na chwile obecna niet... mzoe zle powiedzialem ze bez przeladowania. ale jak zrobic mimo to, ze po nacisnieciu ktores ze stzralek przy naglowku kolumn (nazwie kolumny) sortowalo sie questionmark.gif
Go to the top of the page
+Quote Post
drPayton
post
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


1. Dwa rozwiązania:
a. JS potrafi sortować dane w komórkach tabeli, musiałbyś poszukać na googlach
b. Jeżeli dane pochodzą z bazy danych, np tak
- produkty.php?sortfield=nazwa&sortorder=asc
- w momencie pobierania danych z bazy:

  1. <?php
  2. $sortfield = (isset($_GET['sortfield'])) ? $_GET['sortfield'] : 'domyślnepole';
  3. $sortorder= (isset($_GET['sortorder'])) ? $_GET['sortorder'] : 'ASC';
  4.  
  5. //query: select (...) ORDER BY $sortfield $sortorder
  6. //(olewając możliwe w takim układzie sqlInjection ;) )
  7. ?>
Go to the top of the page
+Quote Post
vokiel
post
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


To nie moje, od razu sie przyznaje bez bicia winksmiley.jpg

W sekcji head:
  1. <script type="text/javascript">
  2. function exPL(x){
  3. return x.toLowerCase().replace(/[ąęśćółńżź]/g,function(s){
  4. return(s=='ą'?'a':s=='ę'?'e':s=='ś'?'s':s=='ć'?'c':
  5. s=='ó'?'o':s=='ł'?'l':s=='ń'?'n':s=='ź'?'z':'zż')+'ż'})
  6. }
  7.  
  8. var Sekcja,Wiersze,Tablica_Wierszy=[]
  9.  
  10. function initSort(){
  11. if(!document.getElementById)return
  12. Sekcja=document.getElementById('Sort_id')
  13. Wiersze=Sekcja.getElementsByTagName('tr')
  14.  
  15. for(var i=0;i<Wiersze.length;i++)
  16. Tablica_Wierszy[i]=Wiersze[i].cloneNode(true)
  17. }
  18.  
  19. function Sortuj(x, sort){
  20. if(!document.getElementById||!Wiersze)return
  21.  
  22. Tablica_Wierszy.sort(function(A,B,a,b){
  23. a=A.getElementsByTagName('td')[x].innerHTML
  24. b=B.getElementsByTagName('td')[x].innerHTML
  25. a=exPL(a);b=exPL(b);
  26. if (sort == 'up')
  27. return a>b?1:a<b?-1:0
  28. else
  29. return a<b?1:a>b?-1:0
  30. }
  31. )
  32.  
  33. while(Wiersze.length)
  34. Sekcja.removeChild(Wiersze[0])
  35. for(var i=0;i<Tablica_Wierszy.length;i++)
  36. Sekcja.appendChild(Tablica_Wierszy[i])
  37. }


& body:
  1. <body onload="initSort()">
  2.  
  3. <p>
  4. <a href="#" onclick="Sortuj(0, 'up');return false">Sortuj według Imienia Rosnaco</a>||<a href="#" onclick="Sortuj(0, 'down');return false">Sortuj według Imienia Malejaco</a><br>
  5. <a href="#" onclick="Sortuj(1);return false">Sortuj według Nazwiska</a><br>
  6. <a href="#" onclick="Sortuj(2);return false">Sortuj według Zawodu</a><br>
  7. </p>
  8.  
  9. <table border="1">
  10. <tr><th>Imię</th><th>Nazwisko</th><th>Zawód</th></tr>
  11. </tbody>
  12. <tbody id="Sort_id">
  13. <tr><td>Jan</td><td>Kowalski</td><td>kowal</td></tr>
  14. <tr><td>Maciej</td><td>Kuroń</td><td>kucharz</td></tr>
  15. <tr><td>Zbigniew</td><td>Zamachowski</td><td>aktor</td></tr>
  16. <tr><td>Adam</td><td>Małysz</td><td>skoczek</td></tr>
  17. <tr><td>Bill</td><td>Clinton</td><td>emeryt</td></tr>
  18. <tr><td>Dorota</td><td>Stalińska</td><td>aktorka</td></tr>
  19. <tr><td>Krzysztof</td><td>Nowak</td><td>robotnik</td></tr>
  20. <tr><td>Bolesław</td><td>Chrobry</td><td>król</td></tr>
  21. <tr><td>Jerzy</td><td>Stuhr</td><td>aktor</td></tr>
  22. <tr><td>Kamil</td><td>Durczok</td><td>dziennikarz</td></tr>
  23. <tr><td>Natalia</td><td>Kukulska</td><td>piosenkarka</td></tr>
  24. <tr><td>Piotr</td><td>Buśka</td><td>webmaster</td></tr>
  25. <tr><td>Colin</td><td>McRae</td><td>kierowca</td></tr>
  26. <tr><td>Henryk</td><td>Sienkiewicz</td><td>pisarz</td></tr>
  27. <tr><td>Kazimierz</td><td>Wielki</td><td>król</td></tr>
  28. <tr><td>Bogdan</td><td>Piekarski</td><td>piekarz</td></tr>
  29. <tr><td>Stanisław</td><td>Moniszko</td><td>muzyk</td></tr>
  30. <tr><td>Adam</td><td>Mickiewicz</td><td>pisarz</td></tr>
  31. </tbody>


Czyli bez przeładowania, bez ajaxa, skoro nie chcesz się go jeszcze uczyć, ale jakbyś chciał:
mintAjax - dyanmiczna tabela na dole strony


--------------------
Go to the top of the page
+Quote Post
gojira
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 14.10.2007

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


mhm, posatram sie to teraz obczaic i zaadoptowac pod swoje... dzieki smile.gif

no dobra, poniekad udalo sie sortowanie, mowie poniekad, bo sortuje mi wszytko tongue.gif a teraz mi chodzi aby sortowal tylko wynik wyszukiwania, i niestety tu juz leze;/
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 Aktualny czas: 20.08.2025 - 03:08