Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie tylko nowych rekordów, to znaczy takich które się już nie wyświetliły danemu użytkownikowi.
Forum PHP.pl > Forum > Bazy danych > MySQL
kawus121
Witam poszukuję funkcji mysqli, bądź jakiegoś odpowiedniego wydajnego rozwiązania.

Pobieram dane ajaxem z php, i chcę wyświetlać tylko nowe rekordy to znaczy takie które nie były pobierane przez danego użytkownika, proszę o pomoc smile.gif
Wiem że da się zrobić na time, ale wtedy wyświetli się np 2 razy a ja chcę tylko raz dany rekord. Na razie zapisuję dane do pliku i sprawdzam w mysqli NOT IN
trueblue
Jeśli będzie to dla jednego użytkownika, to w tabeli dodajesz dodatkowe pole "przeczytany" i tylko z wartością 0 serwujesz użytkownikowi, rekord zaserwowany odznaczasz jako "przeczytany" (1).
Jeśli będzie to dla wielu, to podobnie, ale tworzysz dodatkową tablicę (id_rekord, id_uzytkownik). Tam wstawiasz rekordy zaserwowane użytkownikowi, a serwujesz takie gdzie, których nie ma w tej tabeli (LEFT JOIN i WHERE id_rekord IS NULL).
kawus121
Tylko teraz pytanie czy to będzie wydajne chodzi o wielu użytkowników, bo będzie wykonywać no 10 insertów od usera. Słabo mi się to widzi.

Zależało mi na funkcji mysqli która wyświetli tylko nowe rekordy, ale najwyraźniej nie ma czegoś takiego szukałem i nic nie mogłem znaleźć.
trueblue
To zapisuj gdzieś u użytkownika id ostatniego rekordu, który mu pokazałeś.
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.