Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Odwrócenie wyniku zapytania
Forum PHP.pl > Forum > Przedszkole
CichyWiatr
Witam

Jak odwrócić wynik zapytania:

  1. $chat_online_query2 = ("
  2. SELECT u.username, u.uid, u.usergroup, u.displaygroup, c.text, c.dateTIME
  3. FROM mybb_users u
  4. LEFT JOIN ajax_chat_messages c ON ( u.uid = c.userID )
  5. WHERE c.userID != 'NULL'
  6. ORDER BY c.dateTIME DESC
  7. LIMIT 5
  8. ");
  9.  
  10. $chat_online_result2 = mysql_query($chat_online_query2);


aby był w odwrotnej kolejności. Nie wchodzi w grę zamiana DESC na ASC, bo tylko dzięki temu pobiera mi 5 ostatnich rekordów z bazy danych.

Pozdrawiam
gorden
Dajesz do mysql_fetch_* a później wyboru:
rsort
krsort
array_reverse

jeśli nie pomaga, lub chcesz to zrobić inaczej, to możesz wyniki zapisywać do dodatkowej tablicy, a później wyświetlać je samemu, odwrotnie
CichyWiatr
nie wiem co wstawić w środek pętli, aby mi rekordy odwróciło (słaby jestem z php).

  1. while($chat_online_line3 = mysql_fetch_*($chat_online_result2))
  2. {
  3.  
  4. }


Dla jasności później chcę skorzystać z tej odwróconej tabeli w mysql_fetch_row.

Pozdrawiam
gorden
...dając mysql_fetch_* chodziło mi o funkcję, która zaczyna się od mysql_fetch. jeśli użyjemy jakiejś z tych funkcji, wyniki zapytania staną się tablicą, więc możemy użyć foreach.

  1. $fetch = mysql_fetch_row($query); //gdzie $query jest to mysql_query(zapytanie)
  2. $fetch = array_reverse($fetch); //odwracamy wyniki
  3.  
  4. foreach($fetch as $value) {
  5. echo $value[0].'<br />';
  6. //inne instrukcje w petli
  7. }


coś takiego, nie wiem czy zadziała - pokombinuj
mortus
Cytat(gorden @ 5.03.2011, 23:14:42 ) *
...dając mysql_fetch_* chodziło mi o funkcję, która zaczyna się od mysql_fetch. jeśli użyjemy jakiejś z tych funkcji, wyniki zapytania staną się tablicą, więc możemy użyć foreach.

Nieprawda. Funkcje rozpoczynające się od mysql_fetch_ działają na jednym konkretnym wierszu, a nie na wszystkich, które otrzymaliśmy w wyniku zapytania sql. Poza tym jedna z tych funkcji nie zwraca tablicy, tylko obiekt. Powinieneś wyniki w pętli zapisać do dodatkowej tablicy i tę dodatkową tablicę odwrócić.
  1. while($chat_online_row2 = mysql_fetch_row($chat_online_result2)) {
  2. $chat_online2[] = $chat_online_row2;
  3. }

Później używasz np. array_reverse do odwrócenia tablicy $chat_online2 i foreach do wyświetlenia jej zawartości.
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.