Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie tablicy
yavaho
post
Post #1





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Jak wyświetlić wynik z bazy danych w odwrotnym kierunku.
Albo w którym miejscu powinienem posortowac tablice.

Mam baze danych w ktorej zapisywane sa komentarze. Pobieram z niej 10 ostatnich komentarzy takim zapytaniem:
  1. <?php
  2.  $query = &#092;"SELECT * FROM $komentarze ORDER BY data DESC LIMIT 10\";
  3.  $result = @mysql_query($query);
  4.  if($result && @mysql_num_rows($result) > 0) {
  5. while($row = mysql_fetch_array($result)) {
  6. // wyswietlanie danych 
  7. print('<p>'.$row['data'].'</p>');
  8. }
  9.  }
  10. ?>
Takie zapytanie zwraca mi te komentarze posortowane od najnowszych do najstarszych. Ale ja che je wyswietlic w odwrotnej kolejnosci. Mozna tu zastosowac komende rsort? albo uruchomic petle w odwrotnym kierunku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Parti
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 22.07.2004

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


Cytat(DeyV @ 2004-07-31 00:20:27)
Nie przeczytaliście dokładnie problemu.

Osiągnąć dokładnie to co potrzebujesz, można na 2 sposoby.

Jesli dobrze zrozumialem o co chodzi autorowi tematu, to jest jeszcze jeden sposob.

Ogolnie chodzi o to, ze chcemy wybrac 10 najstarszych rekordow, ale wynik chcemy miec posortowany od najmlodszego do najstarszego.

Mozna to zrobic tak:
  1. (SELECT * FROM tab ORDER BY DATA DESC LIMIT 10 ) UNION (SELECT * FROM tab WHERE id < 0) ORDER BY DATA


Uwaga 1: to drugie zapytanie musi byc tak skonstruowane, zeby nie zwrocilo zadnego rekordu.

Uwaga 2: tutaj w "User comments" znajdziecie rozwiazanie tego problemu ale w takiej postaci:
  1. (SELECT * FROM table_name ORDER BY ranking DESC LIMIT 5 ) ORDER BY ranking;
jakkolwiek u mnie to nie dziala prawidlowo. Natomiast to, ktore podalem wczesniej dziala.
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 19:24