Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Pobranie ostatnich rekordów
Forum PHP.pl > Forum > Przedszkole
jankes83
Witam,

Posiadam kilka tabel (newsy, artykuł itp). W każdej tabeli znajduję się pole `date`, w który trzymam datę dodania w postaci time();
W jaki sposób mogę odczytać 5 najnowszych (z najnowszą datą) wpisów? Jeżeli miałbym czytać tylko z jednej tabeli to nie ma problemu. Chcę jednak uwzględnić kilka..

pozdrawiam
Ulysess
hmm nie wiem czy na parę tabel da rade ale to chyba LEFT JOIN do tego służy , a sortowanie no to ORDER BY `date` DESC LIMIT 5
piotrooo89
podaj jak masz dane w tych tabelach, bo tak na sucho to się raczej nic nie zdziała.
wookieb
  1. (SELECT id, 'artykul' AS a_type, date FROM artykuly ORDER BY date DESC LIMIT 5)
  2. UNION
  3. (SELECT id, 'news' AS a_type, date FROM newsy ORDER BY date DESC LIMIT 5) ORDER BY date DESC LIMIT 5


Dlaczego tak? Liczba kolumn w obu zapytaniach musi się zgadzać. Dlatego najpierw pobieramy listę elementów, które potem pobierzemy oddzielnymi zapytaniami.
Moża oczywiście też wykombinować inaczej ale to już zostawiam tobie smile.gif Podałem Ci tylko przykład jak pobierać z wielu tabel.
jankes83
Dzięki wookieb winksmiley.jpg

Dokładnie o to mi chodziło winksmiley.jpg
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.