Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/msql] Sortowanie tabeli
Puzi
post
Post #1





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

Ostrzeżenie: (10%)
X----


Witam,
Mam taki problem... Mam tabele o nazwie "Tabela" i w niej mam kolumny: nazwa, punkty, bramki i bilans. I chcę posortować tą tabelę według następujących kryteriów. Chciałbym aby sortowało mi tą tabele według punktów a jeśli liczba punktów była by taka sama to żeby posortowało te drużyny według bilansu. Jak to zrobić??

Pozdrawiam i proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
luniak
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Zapytanie powinno wyglądać tak:

  1. "SELECT * FROM `Tabela` ORDER BY `punkty`, `bilans` DESC"


Oczywiście domyślam się ze chcesz sortować wyniki od największego do najmniejszego stąd ten DESC na końcu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Ten post edytował luniak 4.03.2008, 20:24:19
Go to the top of the page
+Quote Post
Puzi
post
Post #3





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

Ostrzeżenie: (10%)
X----


Dałem tak i taki wynik mi wyszedł:
Kod
1. druzyna  4      7:8     -1
2. druzyna 6     10:27      -17
3. druzyna 6 11:12      -1
4.druzyna 7  29:10    19


I najpierw jest miejsce, nazwa druzyny, punkty, bramki a na samym koncu bilans...
Więc jest coś nie tak bo druzyny powinny być ustawione odwrotnie.

Ten post edytował Puzi 4.03.2008, 20:39:52
Go to the top of the page
+Quote Post
luniak
post
Post #4





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


1. Po pierwsze coś rozkraczony masz ten kod.
2. Po drugie mógłbyś tutaj wrzucić kod php któru używasz do wyświetlania danych??
3. Po trzecie jaki masz format danych w tablei dla pól bilans i punkty??

Ten post edytował luniak 4.03.2008, 20:41:58
Go to the top of the page
+Quote Post
nevt
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


kolega luniak zapomniał o jednym DESC
  1. SELECT * FROM `Tabela` ORDER BY `punkty` DESC, `bilans` DESC;
Go to the top of the page
+Quote Post
Puzi
post
Post #6





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

Ostrzeżenie: (10%)
X----


Mój kod do wyświetlania jest taki:
Kod
$tresc_zapytania = "SELECT * FROM `cms_tabela_10` ORDER BY `punkty`, `bilans` DESC";
$zapytanie = mysql_query($tresc_zapytania);
while ($wiersz = mysql_fetch_row($zapytanie))
{
  echo '
  <tr>
  <td><center>'.$a++.'.</center></td>
  <td>'.$wiersz[0].'</td>
  <td><center>'.$wiersz[1].'</center></td>
  <td><center>'.$wiersz[2].'</center></td>
  <td><center>'.$wiersz[3].'</center></td>
  <td><center>'.$wiersz[4].'</center></td>
  <td><center>'.$wiersz[5].'</center></td>
  <td><center>'.$wiersz[6].':'.$wiersz[7].'</center></td>
  <td><center>'.$wiersz[8].'</center></td>
  </tr>
  ';    
}    
echo '</table>';


Ten post edytował Puzi 4.03.2008, 20:49:59
Go to the top of the page
+Quote Post
luniak
post
Post #7





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Cytat(nevt @ 4.03.2008, 20:43:42 ) *
kolega luniak zapomniał o jednym DESC
  1. SELECT * FROM `Tabela` ORDER BY `punkty` DESC, `bilans` DESC;


Nie nie zapomniałem, jeżeli masz zadeklarowany rodzaj sortowania raz i to na końcu to odnosi się on do wszystkich elementów

PS: Przynajmniej u mnie w skryptach tak to działało

Ten post edytował luniak 4.03.2008, 20:53:16
Go to the top of the page
+Quote Post
Puzi
post
Post #8





Grupa: Zarejestrowani
Postów: 231
Pomógł: 17
Dołączył: 26.08.2007

Ostrzeżenie: (10%)
X----


Witam,
Natrafiłem na kolejny problem związany z sortowaniem tabeli piłkarskiej. Jeśli np. dwie drużyny mają tyle samo punktów to powinno mi sortować według bilansu. Jeśli te dwie drużyny mają dodatni bilans to sortuje dobrze ale jeśli te drużyny mają ujemne bilanse to wynik jest nie taki jak powinien.
Zamiszeczam wynik sortowania tabeli według tego kodu:
Kod
$tresc_zapytania = "SELECT * FROM `tabela` ORDER BY `punkty` ASC, `bilans` DESC";


Oto wynik sortowania:
Cytat
1. Druzyna1 20 12
2. Druzyna3 20 10
3. Druzyna2 5 -10
4. Druzyna4 5 -5


Kolejno - miejsce - nazwa druzyny - punkty - bilans

Proszę o pomoc

Ten post edytował Puzi 22.03.2008, 17:18:10
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 19:24