Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> rand() - wykonanie o określonej dacie i godzinie
Axel9697
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 1
Dołączył: 6.07.2010

Ostrzeżenie: (0%)
-----


Witam.
Mam taki problem, ponieważ muszę napisać skrypt i w nim mam przypuśćmy 20 literek.
I np. 5 dnia każdego miesiąca ma się wylosować 3 literki i one mają być ukazane, aż do następnego 5 dnia miesiąca.
Zrobiłem już wszystko oprócz tego, że dany skrypt ma się odpalać 5 dni miesiąca.
Nawet jak nikt nie otworzy strony to literki mają się wylosować i być dla każdego widoczne.
Proszę o pomoc. Jeśli możecie napiszcie tylko te linijki od odpalania skryptu w dany dzień i o danej godzinie.


  1. $dzien = date(j);
  2. $g = date(H);
  3. $m = date(i);
  4. $s = date(s);
  5. $gms = "$g:$m:$s";
  6. //reszta skryptu
  7. if($dzien == "1" && $gms == "12:00:00")
  8. {
  9. $los=rand(0,count($literka)-1);
  10. }

W tym przypadku wyżej i tak trzeba odświeżyć tą stronę z tym skryptem o godzinie w $gms (IMG:style_emoticons/default/sadsmiley02.gif)

Ps: A i od razu mówię, że jeśli jest taka możliwość, aby to zrobić bez używania crona to proszę o podanie tej możliwości. Bo muszę to zrobić bez crona

Ten post edytował Axel9697 22.10.2010, 23:30:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
fr33d0m
post
Post #2





Grupa: Zarejestrowani
Postów: 132
Pomógł: 4
Dołączył: 22.10.2010

Ostrzeżenie: (0%)
-----


Najlepszy do tego celów jest Cron - jeśli Twój serwer go nie posiada, to dla Twojej informacji istnieją serwisu zawierające cron-online, które mogą odpalić Twój plik 5dnia każdego miesiąca. Jeśli koniecznie nie chcesz używać crona to możesz to zrobić na około poprzez refresh co określony czas na stronie i request do pliku ze sprawdzeniem dnia oraz godziny.

Ten post edytował fr33d0m 22.10.2010, 23:49:04
Go to the top of the page
+Quote Post
CuteOne
post
Post #3





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Masz dwie możliwości:
1. Cron
2. Life Cron

Pierwszej nie będę omawiał bo pewnie wiesz co i jak. W drugiej metodzie cronem odpalającym skrypt jest użytkownik. Odpowiedz mi tylko na jedno pytanie po co chcesz losować coś czego nikt nie zobaczy [bo nikt nie odwiedzi Twojej strony?].

Jeżeli jednak zdecydujesz się na odpalanie skryptu poprzez LC zmodyfikuj swój skrypt w ten sposób:

  1. $date = date("Y-m-d"); // możesz oprócz daty dodać czas- wtedy zmień kolumnę cron_date z date na datetime
  2.  
  3. $select = mysql_query("SELECT * FROM life_cron WHERE cron_date <= '{$date}' and cron_status != 2");
  4.  
  5. while($row = mysql_fetch_array($row)) {
  6.  
  7. if($row['cron_status'] == 1) {
  8.  
  9. $los=rand(0,count($literka)-1);
  10.  
  11. mysql_query("UPDATE life_cron SET cron_status = 2 WHERE id = '{$row['id']}");
  12. }
  13. }


struktura bazy:
id(int) | cron_date(date) | cron_status(tinyint lub char(1))
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:53