Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]5 ostatnich rekordów (po jednym z tabeli)
--Obcy--
post
Post #1





Goście







Witam.
Ostatnio napisałem prosty system newsów, wszystko jest ok ale...
Mam pięć 'kategorii' newsów rozmieszczonych w tabelach odpowiadających kategorii.
Na podstronie danej kategorii wyświetlam 10 ostatnich...
Ale chciałbym na stronie głównej umieścić 5 ostatnich ogólnie, czyli ze wszystkich kategorii.

Myślałem, żeby zrobić po prostu:
ostatni z 1 kat.
ostatni z 2 kat.
ostatni z 3 kat.
ostatni z 4 kat.
ostatni z 5 kat.

Ale to odpada bo jest to dosyć 'sztywne' i w ogóle nie o to chodzi. Dodając 5 newsów do kat. 3 (do reszty nic) na głównej powinno wyświetlić się te 5 nowo dodanych.

PS. Pisząc posta wpadłem na pomysł (IMG:style_emoticons/default/smile.gif) (Forum pomaga samo z siebie bez interwencji użytkowników (IMG:style_emoticons/default/biggrin.gif) )
Można przecież wszystkie newsy upakować w jednej tabeli i stworzyć kolumnę 'kategoria'. Później przy pobieraniu tych 5-ciu darować sobie WHERE i jest 5 ostatnich (IMG:style_emoticons/default/smile.gif)
A przy pobieraniu rekordów dla danej kategorii zastosować:
  1. $kategoria = 'kategoria1';
  2.  
  3. (...)WHERE kategoria = '$kategoria' (...)


Czy dobrze kombinuję? ;> A może jakiś lepszy i wydajniejszy sposób znacie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bostaf
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Bardzo dobrze, ale to dopiero początek kombinowania (IMG:style_emoticons/default/wink.gif) Tak było 20 lat temu, tzn. jeden news można dopasować do jednej kategorii. Teraz kategorie nazywa się tagami i do jednego newsa/postu/artykułu przypisuje się dowolną ilość kategorii/tagów. Potrzebujesz 3 tabele:
  1. newsy
    Pola: id_newsa, tresc, autor, data_dodania, data_modyfikacji
  2. kategorie
    Pola: id_kategoria, nazwa
  3. news_kategoria
    Pola: id_newsa, id_kategoria

Ta trzecia tabela służy do łączenia (za pomocą identyfikatorów) newsów z kategoriami/tagami.
Żeby wyciągnąć z tabeli 5 ostatnich newsów sortujesz po dacie malejąco; ORDER BY `data_dodania` DESC LIMIT 5.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 17:45