Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Skrypt gości na profilu
Forum PHP.pl > Forum > Przedszkole
djkrc
Witam, mam problem z wymyśleniem skryptu, który będzie utrzymywał stan 5 rekordów w bazie danych, a dokładnie pięciu ostatnich gości na profilu użytkownika.
Interesuje mnie coś, co będzie usuwać ostatniego gościa, a jednocześnie lub za pomocą drugiego zapytania SQL będzie dodawać nowego gościa, o ile nie ma go jeszcze w bazie.
Nie wiem czy zrozumiale wytłumaczyłem o co mi chodzi.
Może ktoś z was ma jakiś pomysł, z góry dzieki za pomoc.
Daiquiri
Sprawdzasz ile pozycji jest aktualnie w bazie jeżeli miej niż 5 to tylko sprawdzasz czy nazwa gościa jest w bazie. Jeżeli nie to dodajesz. W przypadku, gdy liczba pozycji jest równa 5 to sprawdzasz czy nazwa gościa jest w bazie, jeżeli tak to nie robisz nic, jeżeli jej nie ma to usuwasz najstarszą nazwę gościa i dodajesz nową. W czym masz konkretnie problem?
tehaha
ja bym to zrobił tak:
- tworzysz tabelę gdzie zapisujesz gości odwiedzających profil włącznie z datetime
- pobierasz sobie 5 ostatnich (LIMIT 0,5) gości sortując po datetime i GROUP BY po id użytkownika

w ten sposób masz to bez żadnego sprawdzania i innego kombinowania
djkrc
Wiem, że trzeba będzie użyć pola z wartościa time(); i porównać czas dodania wszystkich rekordów, jeżeli dodaje nowy, usuwam najstarszy, tylko jak mam sprawdzić, który z nich ma najmniejszą wartośćquestionmark.gif

@tehaha
nie chce bałaganu w bazie, niepotrzebne wartości chce usunąć
MateuszS
ORDER BY `Time` ASC LIMIT 1 w zapytaniu
Daiquiri
Cytat(djkrc @ 22.08.2010, 17:00:38 ) *
Wiem, że trzeba będzie użyć pola z wartościa time(); i porównać czas dodania wszystkich rekordów, jeżeli dodaje nowy, usuwam najstarszy, tylko jak mam sprawdzić, który z nich ma najmniejszą wartośćquestionmark.gif

Może to są głupie pytania ale nie zbyt długo zajmuję się php i jak nigdy nie mam pojęcia jak to zrobić


Segregując (Order by) i ustawiając DESC lub ASC.

1. Tworzysz tabelę w bazie z polami np. czas i user
2. Możesz najpierw sprawdzić ilu userów jest w tabeli i
2.1 Jeżeli jest ich mniej niż 5 to sprawdzasz czy dany user jest wpisany -> jeżeli nie, to wrzucasz go do tabeli
2.2 Jeżeli userów jest już 5 to sprawdzasz czy dany user jest wpisany -> jeżeli nie, najpierw sprawdzasz, który z tych w tabeli jest najstarszy (ORDER BY czas) i go usuwasz. Potem dodajesz najnowszego :-)


@tehaha
A jak chcę trzymać w tabeli tylko 5 rekordów i ani jednego więcej? ;-)
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.