Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie danych pobranych z MySql
Forum PHP.pl > Forum > PHP
alamam
Witam mam taki problem:
PObieram dane z bazy MySql do tabeli w php i tam jak klikne raz na nazwe kolumny to segreguje mi tą tabele wg tego, a jeżeli drugi raz to nic nie zmienia a chodzi mi żeby też segregował ale tym razem od końce. Jest to wogule możliwe?

Pozdrawiam
nospor
moze to ci pomoże:
http://forum.php.pl/index.php?showtopic=30013
revyag
Prościej będzie jak dasz dwie strzałki do kliknięcia: sortowanie rosnąco i malejąco.
np. tak
1 - sortowanie rosnąco
0 - sortowanie malejąco
  1. <a href="index.php?kolumna=nazwa&amp;ord=1">&uarr;</a>&nbsp;
  2. <a href="index.php?kolumna=nazwa&amp;ord=0">&darr;</a>
alamam
Wielkie dzięki exclamation.gif!
FliSs_tCv
Mam podobny problem tylko że ja sobie sortuję dane za pomocą pola select w formularzu ale chciałbym zamienić to na zwykły link <a href=""></a> lecz mam problem ponieważ robię to z ajax-em i w polu selekt mam onChange i nie wiem jak to zastosować w linku ;>

  1. <form action="index.php" method="GET" name="users">
  2. <select onChange="showStyle(this.value)" name="order_by" id="order_by" style="width: 300px;">
  3. <option value="">Typ sortowania:</option>
  4. <option value="id-1">[ASC] ID</option>
  5. <option value="id-2">[DSC] ID</option>
  6. <option value=""></option>
  7. <option value="nazwa-1">[ASC] NAZWA</option>
  8. <option value="nazwa-2">[DSC] NAZWA</option>
  9. <option value=""></option>
  10. <option value="bpm-1">[ASC] BPM</option>
  11. <option value="bpm-2">[DSC] BPM</option>
  12. </select>
  13. </form>


Może ktoś by mi pomógł podpowiedział co mam szukać i co przeczytać winksmiley.jpg pozdrawiam
Berg
Ustawiasz linki dla których nadajesz odpowiednią klasę (którą potem odczytujesz dzięki czemu wiesz jakie sortowanie ma być wykonane). Potem ustawiasz na te linki onClick, wykonujesz ajaxa i na końcu funkcji onClick dajesz return false; aby nie przekierowało Ciebie na stronę podaną w href winksmiley.jpg
FliSs_tCv
fajne napisać ale zamotane to dla mnie snitch.gif mógłbyś oprzeć to jakimiś przykładami? winksmiley.jpg pozdrawiam
Berg
  1. <a class="sortable" id="id_asc" href="#">[ASC] ID</a>
  2. <a class="sortable" id="id_desc" href="#">[DESC] ID</a>
  3.  
  4. <a class="sortable" id="nazwa_asc" href="#">[ASC] NAZWA</a>
  5. <a class="sortable" id="nazwa_desc" href="#">[DESC] NAZWA</a>

[JAVASCRIPT] pobierz, plaintext
  1. window.onload = function() {
  2. var odsylacze= document.getElementsByTagName('a')
  3. for(i=0;i<odsylacze.length;i++) {
  4. if (odsylacze[i].className == 'sortable') {
  5. odsylacze[i].onclick = function() {
  6. if(this.getAttribute('id') == 'id_asc') { // Sortowanie asc dla id
  7. // Wykonuje ajaxa
  8. }
  9. else if(this.getAttribute('id') == 'id_desc') { // Sortowanie desc dla id
  10. // Wykonuje ajaxa
  11. }
  12. else {
  13. // Id...
  14. }
  15. return false;
  16. }
  17. }
  18. }
  19. }
[JAVASCRIPT] pobierz, plaintext


W href zamiast # przydałoby się umieścić linki do skryptów php które wykonają sortowanie jeśli użytkownik będzie miał wyłączone js winksmiley.jpg
FliSs_tCv
Witam. jeszcze raz piszę ponieważ coś naskrobałem lecz nadal nie wiem czemu mi nie działa ten skrypt smile.gif chodź podpatrywałem z innych gotowych rozwiązań jak i ze skryptu który działa mi przy formularzu nie wiem co robię źle całą noc siedziałem kombinowałem ale nic nie mogę zauważyć ...
Fragment kodu index.php
  1. <div class="content">
  2. <div style="float: left; width: 500px; height: 20px; margin: 1px 0px 2px 1px; background: gray;">
  3. <div style="float: left; width: 18px; height: 20px; margin: 0px 0px 0px 3px; font-size: 14px; color: white;">
  4. <?php
  5. if($_GET['order_by'] == NULL || $_GET['order_by'] == 'id-1')
  6. {
  7. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=id-2\">lp</a>";
  8. }
  9. else
  10. {
  11. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=id-1\">lp</a>";
  12. }
  13. ?>
  14. </div>
  15. <div style="float: left; width: 1px; height: 20px; background: silver;">&nbsp;</div>
  16. <div style="float: left; width: 153px; height: 20px; margin: 0px 0px 0px 3px; font-size: 14px; color: white;">
  17. <?php
  18. if($_GET['order_by'] == NULL || $_GET['order_by'] == 'nazwa-2')
  19. {
  20. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=nazwa-1\">nazwa</a>";
  21. }
  22. else
  23. {
  24. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=nazwa-2\">nazwa</a>";
  25. }
  26. ?>
  27. </div>
  28. <div style="float: left; width: 1px; height: 20px; background: silver;">&nbsp;</div>
  29. <div style="float: left; width: 100px; height: 20px; margin: 0px 0px 0px 6px; font-size: 14px; color: white;">
  30. <?php
  31. if($_GET['order_by'] == NULL || $_GET['order_by'] == 'bpm-2')
  32. {
  33. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=bpm-1\">bpm</a>";
  34. }
  35. else
  36. {
  37. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=bpm-2\">bpm</a>";
  38. }
  39. ?>
  40. </div>
  41. <div style="float: left; width: 1px; height: 20px; background: silver;">&nbsp;</div>
  42. <div style="float: left; width: 200px; height: 20px; margin: 0px 0px 0px 3px; font-size: 14px; color: white;">
  43. <?php
  44. if($_GET['order_by'] == NULL || $_GET['order_by'] == 'opis-2')
  45. {
  46. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=opis-1\">opis</a>";
  47. }
  48. else
  49. {
  50. echo "<a class=\"sortowanie_danych\" id=\"id_asc\" href=\"?order_by=opis-2\">opis</a>";
  51. }
  52. ?>
  53. </div>
  54. </div>
  55.  
  56. <div id="sortowanie_">
  57. <?php include('sort_Tstyle.php'); ?>
  58. </div>
  59. </div>

Kod Ajax
http://wklej.org/id/162715/

Kod Php/MySQL
http://wklej.org/id/162722/

Proszę o pomoc wręcz błagam bo nie wiem co robię nie tak ;/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.