Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: 10 najnowszych rekordów
Forum PHP.pl > Forum > PHP
12v
Witam wszystkich

Mam takie teoretyczne zapytanie, jak byście sobie z tym najprościej poradzili.

Jest sobie baza danych w której jest 300 rekordów i są one systematycznie dodawane ale i czasem usuwane.
Każdy rekord ma swoje ID.
Rekordy można wyświetlać grupami wg pierwszej litery lub wszystkie naraz z podziałem na strony.

Chciałbym do wybranych rekordów (ostatnich 10) podczepić malutkiego gifa "new" i tu jest problem: Jak rozpoznać które z nich są ostatnimi rekordami?

Teoretycznie wysuwa się myśl: sprawdź sobie ostatnie ID, i przy każdym rekordzie gdy $ID>$ostatnie_id-10 pokaż gif'a, ale jeśli jakiś rekord z ostatnio dodanych został usunięty to już się sprawa rypnie.

Czy w php istnieje funkcja na sprawdzenie numeru ID rekordu w bazie? Coś jak recno() w Visual Fox Pro?
silent
Przed wyświetlaniem tych wpisów pobierz:
  1. SELECT id FROM tabela ORDER BY id DESC LIMIT 10

wczytaj wszystkie id do tablicy i przy wyświetlaniu sprawdzaj, czy dany id jest w tej tablicy - jeśli tak to doczepiasz "new" i finał.
Leezard
a nie mozesz dorzucic pola daty do rekordu? i potem order by to pole i limit jaki chcesz
SongoQ
Data - nie. Najszybciej i najbardziej optymalniej jest jesli sortowanie jest po id, ktory jest jako klucz podstawowy w dodatku w tabeli sa rekordy po id posortowane, wiec mechanizmy bazy danych sortowania dzialaja wtedy bardzo szybko.

Na takie szczegoly sie nie zwraca uwagi a sa bardzo istotne w pozniejszym dzialaniu aplikacji.
12v
Wszystkie rozwiązania wydają się sensowne, jednak już wczoraj zanim napisalem posta zrobiłęm tak jak napisal Silent, myślałęm jednak że istnieje jakiś odpowiednik recno() i reccount().

Dzięki wszystkim smile.gif
silent
Cytat(Leezard @ 2004-10-28 17:55:21)
a nie mozesz dorzucic pola daty do rekordu? i potem order by to pole i limit jaki chcesz

Właśnie chodziło o to, żeby nie limitować wyświetlanych rekordów, a przy odpowiednich doczepić informację, że to jest "new". Poza tym pole daty nic nie wnosi - id przecież i tak jest inkrementowane przy dodawaniu nowych rekordów, więc najnowsze mają najwyższy id.
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.