![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam po dłuższej przerwie,
mam klienta który chce abym przygotował dla niego blok artykułów "zobacz także". Codzi o to aby w bloczku było 5 linków do losowych artykułów jednak nie chce on aby losowały się one przy każdym odświeżeniu strony. To dość zrozumiałe. Osoba zainteresowana mogłaby wrócić po kilku dniach i nie znaleźć już linku do interesującej go strony. Jak takie coś wykonać? Pozdrawiam: Black-Berry |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Cache?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Możnaby zrobic w taki sposob:
Kod $ilosc; // ilosc wszystkich artykulow $aktualny_artykul; // zawiera numer aktualnego artykulu // numery kolejnych artykulow $id_0 = ( $aktualny_artykul + {liczba} ) % $ilosc; .... $id_4 = ( $aktualny_artykul + {liczba} ) % $ilosc; // gdzie liczba to jakas dowolnie wybranan liczba z przedzialu od 0 do $ilosc Rozwiazanie takie ma tylko jedna wade: Jeśli beda dodawane nowe artykuly za kazdym razem te 5 pseudolosowych beda sie zmieniac na inne. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
Mozna zrobic tak:
przy dodawaniu artykulu do bazy, zapamietujemy jego ID pozniej losujemy 5 ID innych artykulow i zapisujemy je do bazy z losowymi artykulami: ID_artykulu=IDARTYKULU_DODANEGO , ID_arty_LOSOWE I wtedy mamy wylosowane artykuly w bazie i nigdy one sie nie zmienia;) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Mozna zrobic tak: przy dodawaniu artykulu do bazy, zapamietujemy jego ID pozniej losujemy 5 ID innych artykulow i zapisujemy je do bazy z losowymi artykulami: ID_artykulu=IDARTYKULU_DODANEGO , ID_arty_LOSOWE I wtedy mamy wylosowane artykuly w bazie i nigdy one sie nie zmienia;) Tylko do takiego rozwiązania miałbym jedną małą uwagę: Trzebaby napisać specialną funkcję (nieliniową) losującą artykuły. Chodzi o to, żeby prawdopodobieństwo wylosowania najwcześniej dodanych artykułów spadało według odpowiedniej funkcji tak aby każdy z artykułów był promowany średnio w pięciu innych artykułach. Jeżeli użyjemy zwykłego prawdopodobieństwa 1/ilosc_artykulów, wtedy niestety najnowsze artykuły będą promowane najrzadziej, a te najstarsze znacznie częściej. Nie wiem czy jasno wytłumaczyłem. Mam nadzieję, że autor tematu rozumie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował flashdev 7.06.2009, 01:09:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 16:55 |