Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Odwrotne wyświetlanie wyników
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam tabele
id
1
2
4
6
9

i zapytanie:

  1. $query2 = mysql_query("SELECT id FROM image WHERE id>2 ORDER BY id ASC LIMIT 2") or die(mysql_error());
  2. while($bb_img=mysql_fetch_row($query2)){
  3. echo $id.'<br />';
  4. }


Co zrobi by wyswietlic te id w odwrotnej kolejnosci, czyli zamiast
4
9

było
9
4

zmiana order by na DESC odpada bo wtdy wezmie mi id 6 i 9, a ja chce 2 kolejne wyzsze od 2
webdice
Chcesz posortować dwie wyrwane z kontekstu liczby w odwrotnej kolejności?
Bojakki
Moim celem jest wybranie 2 kolejnych po cyfrze "2" liczb z tabeli, w tym przypadku sa to 4 i 6. Z tym, ze chce je wyswietlic w kolejnosci, najpierw 6, potem 4.
Fifi209
Nijak 4 i 9 to kolejne dwie liczby po 2.

Jeżeli nie umiesz po stronie mysql zrób po stronie php np. array_reverse
Bojakki
Przeciez nie napisałem nigdzie, ze po 2 kolejne to 4 i 9.

Jezeli byłoby to mozliwe wolałbym mieć kolejnosc od największej do najmniejszej zrobiona jeszcze w sqlu
webdice
Masz w bazie takie rekordy:

Kod
1 2 4 6 9


i chcesz uzyskać:

Kod
1 2 9 6 4


Jeśli tak to zapomnij.
Bojakki
Nie, chce uzyskac tylko 2 kolejne cyfry po cyfrze 2 (4 i 6 - co mi sie udało), z tym, ze uszeregowane od najwiekszej do najmniejszej
webdice
  1. SELECT `id` FROM `table` WHERE `id` IN( SELECT * FROM `table` WHERE `id` > 2 LIMIT 2 ) ORDER BY `id` DESC


Z tym że nie wszystkie wersje MySQL obsługują LIMIT w podzapytaniu. Kolejną sprawą jest wydajność takiego zapytania. Jak wcześniej wspomniał ~fifi209 array_reverse powinno być szybsze.
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.