Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Sortowanie wyników zapytania
Forum PHP.pl > Forum > Przedszkole
artkow00
Cześć mam pytanie.

Zapytanie następujące:

  1. $a = mysql_query("SELECT * FROM `tabela` ORDER BY `id` DESC LIMIT 3");


dla tabeli:

id | name |
----------------
1 | john |
3 | jerry |
3 | tom |
4 | emma |
5 | ashley |

Po wywołaniu mysql_fetch_assoc pól 'name' powoduje wyświetlenie:

ashley
emma
tom

Jeśli przesortuję to odwrotnie to oczywiście otrzymam:

john
jerry
tom

Mi natomiast zależy na otrzymaniu:

tom
emma
ashley

Sprawa jest prosta: Czy da się najpierw wywołać z tabeli 3 ostatnie rekordy a dopiero później dowolnie je przesortować? Bo obecnie $a najpierw sortuje całą tabelę, a dopiero LIMITuje na 3 rekordy.
Od razu mówię, że zamiana miejscami LIMIT oraz ORDER BY zwraca błąd zapytania - chociaż to zapewne wiecie.. smile.gif

Dzięki z góry za pomoc.
jacobson
Mysql ma oprocz limit cos takiego jak OFFSET czyli numer elementu od ktorego chcesz zaczac zwracac. (np LIMIT 2,10)
mar1aczi
  1. mysql_query("select * from (SELECT * FROM `tabela` ORDER BY `id` DESC LIMIT 3) order by `id` asc");
jak czegoś nie zgubiłem.
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.