Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Uporządkowanie wyników od największego
Forum PHP.pl > Forum > Przedszkole
CryWolf
Witam!
Jak przerobić ten kod aby wyświetlał wyniki od takiego rekordu, który ma największe ID potem w dół, bo na stronie chodzi mi o wyświetlenie ostatnio dodanego rekordu. Z góry dziękuję


  1. $p1 = "SELECT * FROM users";
  2. $wy1 = mysql_query($p1);
  3. while($x1 = mysql_fetch_array($wy1))
  4. {
  5.  
  6. echo "ID: $x1[id]";
  7.  
  8. }
webdice
  1. SELECT * FROM users ORDER BY `pole` DESC
CryWolf
Hmm a mogłbys to jakos wytlumaczyc? a tak wogole to to jest to o co prosiłem? i co to jest w tym przypadku 'pole'
webdice
  1. ORDER BY `pole` DESC


Sortujesz wyniki w kolejności malejącej po polu pole (w Twoim przpadku np. id).

  1. ORDER BY `pole` ASC


Sortujesz wyniki w kolejności rosnącej, równie dobrze możesz nie dawać ASC. U ciebie najprawdopodobniej będzie wyglądać to tak:

  1. <?php
  2. $p1 = "SELECT * FROM users ORDER BY `id` DESC";
  3. ?>
JaRoPHP
Składnia zapytania SELECT - poczytaj o ORDER BY.

Cytat
bo na stronie chodzi mi o wyświetlenie ostatnio dodanego rekordu
Możesz to rozwiązać również podzapytaniem - wybierasz wtedy tylko ów jeden rekord:
  1. SELECT *
  2. FROM users WHERE id = (SELECT max(id) FROM users)
webdice
Nie doczytałem że chcesz pobrać ostatni rekord.

  1. <?php
  2. $p1 = "SELECT * FROM users ORDER BY `id` DESC LIMIT 1";
  3. ?>
CryWolf
Znaczy chodziło mi o dwa wuyjaśnienia, dziękuję Wam smile.gif

Jeszcze jedno, a jakbym chciał dodać jeszcze jakiś warunek to gdzie dokładnie:

  1. <?php
  2. $p1 = "SELECT * FROM users ORDER BY `id` DESC";
  3. ?>


Warunek to:
WHERE zespol = '1'
webdice
  1. <?php
  2. $p1 = "SELECT * FROM users WHERE `zespol` = 1 ORDER BY `id` DESC";
  3. ?>


P.S. Uzywaj odpowiednich tagów.
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.