Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]sortownie wyników za pomocą form select, sortownie wyników za pomocą form select
Rufus_84
post 22.03.2014, 17:40:54
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


Witam.
Pobieram wyniki z bazy danych i chciałbym, aby byla możliwośc ich sortowania na cztery sposoby. Napisałem taki kod:

<form method="get" id="sort_form" action=""> <fieldset>
<label style="width:50px;">Sortuj:</label>
<select id="listSort" name="sb">
<option value="tyt_asc" selected="selected">Tytułami A-Z</option>
<option value="tyt_desc" >Tytułami Z-A</option>
<option value="aut_asc" >Autorami A-Z</option>
<option value="aut_desc" >Autorami Z-A</option>
</select>

<button type="submit">Sortuj</button>
</fieldset></form>';

oraz php:

$sel = $_GET['sb'];
if($sel =='tyt_asc'){
$order = 'Tytul ASC';
}else if($sel =='tyt_desc'){
$order = 'Tytul DESC';
}else if($sel =='aut_asc'){
$order = 'Autor ASC';
}else if($sel =='aut_desc'){
$order = 'Autor DESC';
}else{
$order = 'Tytul ASC';
}

Problem jest taki, że nie zmienia się rodzaj sortowania mimi, że w adresie url się zmienia.
Z góry dziekuję za pomoc.

Pozdrawiam
Rafał

$_GET['sb'] nie pobiera wartosci, gdyz jak wpisze echo $_GET['sb'] nic si enie wyswietla. weie ktos dlaczego tak moze sie dziać?
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 17:42:36
Post #2





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


Formularz i kod PHP są w odrębnych plikach czy w jednym?


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 17:43:28
Post #3





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


w jednym
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 17:57:33
Post #4





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


A co masz w całej tablicy $_GET ( print_r($_GET); ) ?


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 18:38:14
Post #5





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


nie rozumiem; nie mam tablicy $_GET...
Go to the top of the page
+Quote Post
Turson
post 22.03.2014, 18:46:33
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
$_GET['sb'] nie pobiera wartosci, gdyz jak wpisze echo $_GET['sb'] nic si enie wyswietla. weie ktos dlaczego tak moze sie dziać?

Ciekawe bo u mnie działa.

Masz tablicę, jest to $_GET. Wpisz print_r($_GET); aby ją zobaczyć
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 19:21:10
Post #7





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


Array ( [id] => develop ) czyli strona na ktorej sie znajduje formularz

właśnie zauważyłem, że jak stworze nowy plik php z samym formularzem to działa. czy moze cos blokowac działanie $_GET?

Ten post edytował Rufus_84 22.03.2014, 19:22:01
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 19:29:30
Post #8





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


Na pewno obsługujesz prawidłowy formularz?
W formularzu, który testujesz/podałeś nie ma pola name="id", więc nie wiem jakim cudem dostajesz w tablicy $_GET tą zmienną.


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 19:57:41
Post #9





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


no właśnie też nie mam pojęcia. zamiast pobierać name="sb" pobiera id z index.php?id="develop"...
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 20:02:23
Post #10





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


  1. <?php
  2. ?>
  3. <form method="get" id="sort_form" action=""> <fieldset>
  4. <label style="width:50px;">Sortuj:</label>
  5. <select id="listSort" name="sb">
  6. <option value="tyt_asc" selected="selected">Tytułami A-Z</option>
  7. <option value="tyt_desc" >Tytułami Z-A</option>
  8. <option value="aut_asc" >Autorami A-Z</option>
  9. <option value="aut_desc" >Autorami Z-A</option>
  10. </select>
  11.  
  12. <button type="submit">Sortuj</button>
  13. </fieldset></form>
  14.  
  15. <?php
  16.  
  17. $sel = $_GET['sb'];
  18. if($sel =='tyt_asc'){
  19. $order = 'Tytul ASC';
  20. }else if($sel =='tyt_desc'){
  21. $order = 'Tytul DESC';
  22. }else if($sel =='aut_asc'){
  23. $order = 'Autor ASC';
  24. }else if($sel =='aut_desc'){
  25. $order = 'Autor DESC';
  26. }else{
  27. $order = 'Tytul ASC';
  28. }
  29. print_r($_GET);
  30. ?>

Podmień na chwilę index.php powyższym i zobacz, co wtedy wyświetla.


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 20:13:11
Post #11





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


No własnie teraz działa. wyswietla tablice sb

Array ( [sb] => aut_asc )


tylko dlaczego? moze to miec zwiazek z paginacją? lub tworzeniem ladnych urli z htaccess?

Właściwie to wejdz na strone www.e-motywacja.net i sam zobacz. wejdz w pierwsza kategorię ksiazek i ebookow

do adresu url dodaje rodzaj sortowania ale nie pobiera go

Ten post edytował Rufus_84 22.03.2014, 20:13:49
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 20:21:35
Post #12





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


Regułki w .htacces gubią query string.
Musiałbyś dodać do nich parametr QSA.


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 20:26:33
Post #13





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


Masz rację działa!! ale jak przerzucę na drugą stronę wyników to resetuje sortowanie. Wiesz może jak temu zapobiec?
Go to the top of the page
+Quote Post
trueblue
post 22.03.2014, 20:28:14
Post #14





Grupa: Zarejestrowani
Postów: 6 804
Pomógł: 1827
Dołączył: 11.03.2014

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


Musisz dopisywać ten parametr w linkach paginacji.


--------------------
Go to the top of the page
+Quote Post
Rufus_84
post 22.03.2014, 20:32:47
Post #15





Grupa: Zarejestrowani
Postów: 77
Pomógł: 1
Dołączył: 15.12.2012

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


dobra super. Wszystko działa

WIELKIE DZIEKI!!!
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: 29.06.2025 - 12:31