Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 10 najnowszych rekordów
12v
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.10.2004

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


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?
Go to the top of the page
+Quote Post
silent
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

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


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ł.
Go to the top of the page
+Quote Post
Leezard
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 19.09.2004
Skąd: Uć

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


a nie mozesz dorzucic pola daty do rekordu? i potem order by to pole i limit jaki chcesz


--------------------
Nie rób nic na siłę - weź większy młotek ;)
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


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.


--------------------
Go to the top of the page
+Quote Post
12v
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.10.2004

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


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
Go to the top of the page
+Quote Post
silent
post
Post #6





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 18.08.2004
Skąd: Jastrzębie Zdrój

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 05:36