Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Podwójne sortowanie
Forum PHP.pl > Forum > Przedszkole
charlie-cherry
Mam w sql tabelę w której każdy obiekt ma przypisany tytuł, rodzaj nośnika oraz nazwę zespołu. Chcę je poprzez zapytanie do bazy sql posegregować w php tak:

Zespół 1

Single:
Singiel1
Singiel2
Singiel3

Płyty:
Płyta1
Płyta2
Płyta3

Zespół 2

Single:
Singiel1
Singiel2
Singiel3

Płyty:
Płyta1
Płyta2
Płyta3

itd.

Można to łatwo zrobić "ręcznie" wpisując w html nazwę zespołu, a następnie odpytać bazę pod względem obiektów z nazwą zespołu, użyć switcha by posegregować względem nośnika i gotowe. Jednakże przy kilkunastu różnych zespołach i tylu sanych rodzajach nośników to rozwiązanie jest do niczego. Jak to zrobić poprawnie?
Liseeeek
Nie wiem czy dobrze zrozumiałem ale chyba chodzi Ci o to żeby były 2 warunki sortowania.

SELECT * FROM tabela ORDER BY nazwiasko, imie

Zapytanie sortuje tak:

Biały Barbara
Biały Piotr
Czarny Tomek
Kowalski Darek
charlie-cherry
Rozpisałem to już sobie inaczej, ale dopiero z twoją propozycją zadziałało jak należy.

Zamieszczam, może komuś to pomoże, acz z pewnościąmożna to samo rozpisać bardziej elegancko.

  1. <?php
  2. // po połączeniu z bazą danych
  3. while ($rekord = mysql_fetch_assoc($result))
  4. {$id=$rekord['id'];
  5. $tytul=stripslashes($rekord['tytul']);
  6. $rodzaj_nosnika=stripslashes($rekord['rodzaj_nosnika']);
  7. $rodzaj_zespolu=stripslashes($rekord['rodzaj_zespolu']);
  8.  
  9. if(strcasecmp($ostatniRodzaj1, $rodzaj_zespolu) != 0) {
  10. echo '<h6>';
  11. switch ($rodzaj_zespolu) {
  12. case $rodzaj_zespolu: echo $rodzaj_zespolu; break; 
  13. }
  14. }
  15. echo '</h6>';
  16. $ostatniRodzaj1 = $rodzaj_zespolu;
  17. for ($z=0; $z < count($rekord['rodzaj_nosnika']); $z++) {
  18. if ($rodzaj_test != $rodzaj_nosnika) {echo '<b>'.$rodzaj_nosnika.'</b><br>';} ;}
  19. $rodzaj_test=$rodzaj_nosnika;
  20. echo '<li><a href="dysk.php?edycjaobiektu='.$id.'">'.$tytul.'</a></li>';
  21. }
  22. ?>
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.