Pogledajte određenu poruku
Staro 15. 10. 2007.   #3
benjamin
omladinac
Certified
 
Datum učlanjenja: 03.09.2006
Lokacija: beograd
Poruke: 78
Hvala: 17
4 "Hvala" u 4 poruka
benjamin is on a distinguished road
Pošaljite poruku preko Skype™ za benjamin
Default

Citat:
Originalno napisao shoba Pogledajte poruku
Kako realizujete FIFO buffer u PHPu?

Da bih bio jasniji dacu jedan primer FIFO buffera. Na primer, treba napraviti opciju da se zapisuje poslednjih 10 posetilaca necijeg licnog profila ili stranice. Dakle, za svaki profil bih u bazi zapisivao poslednjih 10 usernameova koji su ga posetili.

Da li bi resenje bilo sledece:

- pri svakoj novoj poseti profila proveravam koliko je poseta imao taj profil
- ako je imao manje od 10, zapisujem novi red
- ako je imao vise od 10 brisem najstarijeg iz tabele (znaci da sam uz username pamtio i datum) i upisujem novi

Ima li neko elegantnije/logicnije/brze resenje?
Generalno nema potrebe da pamtiš datum, ukoliko optimizuješ bazu, mada je preporučljivo jer ko zna za šta će ti posle zatrebati. ako je baza lepo podešena id polja će ti fino raditi taj deo posla.

dakle ako imaš tabelu visits [id, who, whom], jednostavan select * from visits where whom = 'ime_profila' order by id desc /*ili datum ukoliko ga koristis */ limit 0, 10;


na taj način izbegneš brisanje iz baze, realno niko ne voli brisanje iz baze .

ukoliko dodaš datum, možeš ovo koristiti i za neku lepu statistiku (ukoliko ne brišeš rekorde)

e da nije mi samo jasan taj uslov ukoliko ima manje od 10 poseta upisuješ posetu ? valjda bi je upisivao u svakom slučaju
benjamin je offline   Odgovorite uz citat