![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 294 Pomógł: 4 Dołączył: 19.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Myślę, nad skryptem generującym codziennie inną liczbę. Chodzi mi o podobną funkcję co rand(), tyle, że ona generuje z podanego zakresu za każdym odświeżeniem nowy los, ja chciałbym uzyskać codziennie inną liczbę z podanego zakresu.. Ma ktoś pomysł?
Chciałbym codziennie wyświetlić z bazy inny cytat, ale codziennie - nie po każdym odświeżeniu.. Pozdrawiam! -------------------- ---
"kto pyta ten nie błądzi"... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%) ![]() ![]() |
ja wpadlem na to zeby losowac o danej godzinie czyli ustalasz np. godzina=08 minuta=00 sekunda=00 i warunek, jezeli jest ta godzina to losuje, pewnie jest prostszy sposob ale ja tak bym to zrobil
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Musisz zapisywać sobie poprzednie liczby w bazie lub w pliku.
Może to być w jednym wierszu jako tablica + serialize. Potem pętla losująca taka dopóki nie znajdzie unikalnej liczby. Poza tym możesz na sztywno ustalić np. 31 cytatów zależnych od dnia miesiąca - nikt nie będzie czekał ponad miesiąc żeby ocenić czy te cytaty były losowane czy pojawiały się w określonej kolejności. Ten post edytował markonix 8.12.2010, 08:29:49 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 7 Dołączył: 3.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tworzysz tablicę numerowaną od 1, czyli pierwszego dnia miesiąca do 31 ostatniego. Przy pomocy funkcji array_rand układasz w kolejności losowej wszystkie elementy na początku każdego miesiąca. Następnie serializujesz posortowaną tablice i zapisujesz w bazie. Odczytujesz ją za każdym razem pobierając index odpowiadający danemu dniu miesiąca.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 72 Pomógł: 10 Dołączył: 2.02.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Lub też czytasz o liniowym generatorze kongruencyjnym i codziennie go wywołujesz
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 16 Dołączył: 2.12.2009 Skąd: Płock/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
hej,
możesz zrobić tak: dodajesz do tabeli 'cytat', kolumnę 'czy_byl' i defaultowo ustawiasz na 0 wszystkim rekordom cytat na stronie wyświetlasz za pomocą zapytania:
tworzysz sobie w cronie skrypt, który raz dziennie będzie ci modyfikował obecnie wyświetlany rekord wykonując zapytanie:
i tym sposobem masz codziennie nowy cytat ![]() i teraz jeżeli cytatów masz mało - dajesz w tym cronie warunek sprawdzający na ilu rekordach zadziałał update - jeżeli nie zadziałał (zadziałał na 0 rekordach) to ustawiasz wszystkim czy_byl = 0 i leci wszystko od początku ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:26 |