Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][CRON] Rand co 24h
M45t3r
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


Witam!

Jestem zmuszony do napisania skryptu ktory bedzie wykonywal sie co 24h (tj. w index.php bedzie
  1. <?php
  2. rand(1,30);
  3. ?>
ale chce zeby ten rand wykonal sie tylko raz!! na 24h)) wiem, ze jest potrzebny cron, ale jak to zrobic?

innym pomyslem na rozwiazanie tego problemu jest zrobienie oddzielnego pliku, ktory bedzie sie wykonywal co 24h i wyloswana liczbe bedzie zapisywal do bazy czyli

  1. <?php
  2. $liczba = rand(1,30);
  3. $sql = mysql_query("insert into numerek values(NULL, '".$liczba."'");
  4. if($sql) {} else mysql_error();
  5. ?>


Wszystkie pieknie ladnie, ale zeby to sie zrobilo to trzeba uzyc tego crona wiec czy zawartosc tego pliku wystarczy nazwa cron-[19].php ? Jesli nie to poprosze o jakies wskazowki ..

Ten post edytował M45t3r 13.11.2006, 12:53:22


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
dtb
post
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


nie wiem dokladnie o po co ci to, ale moje rozwiazanie byc moze jest prostrze.
za kazdym gdy strona jest otwierana to losuj liczbe od nowa, a generator liczb losowych inicjuj dzisiejsza data, np. liczba 13112006 (srand" title="Zobacz w manualu php" target="_manual)

  1. <?php
  2. srand((int)date('Ymd'));
  3. $wynik = rand(1, 30);
  4. ?>


efekt? kazdego dnia bedziesz mial jakas losowa liczbe z przedzialu od 1 do 30

Ten post edytował dtb 13.11.2006, 14:01:38


--------------------
Go to the top of the page
+Quote Post
M45t3r
post
Post #3





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


a co zrobisz zeby o okreslonej godzinie numerek sie zmienial ?


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
thornag
post
Post #4





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


Opisz problem troche szerzej. Jesli chodzi tylko o to zeby sie numerek zmienial o okreslonej godzinie, to zapisz go do bazy danych(czy gdziekolwiek) wraz z czasem waznosci. Przy requescie sprawdzaj czy sie numerek wyexpirowal. Jesli tak to go zmien, jesli nie to pozostaw.

Napisz dokladniej po co Ci to, wtedy jakas koncepcja wyplynie smile.gif


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
M45t3r
post
Post #5





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


słyszeliscie o czyms takim jak "szczesliwy numerek" w szkolach ? jesli Twoj numerek w dzienniku wypadnie, jestes zwolniony z odpowiedzi - to tyle smile.gif. I wlasnie ten numerek ma sie losowac codziennie o 19:00 smile.gif. Pomysl kolegi @dtb jest calkiem dobry .. trzeba by to tylko dopracowac zeby ten numerek zmienil sie o 19, a ja niestety bladego pojecia nie mam jak to zrobic :/

Ten post edytował M45t3r 13.11.2006, 14:52:50


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
thornag
post
Post #6





Grupa: Zarejestrowani
Postów: 504
Pomógł: 2
Dołączył: 31.03.2006
Skąd: Londyn

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


No tak moj sposob powiedzie sie tylko jesli ktos weejdzie na strone w okreslony czasie. Najlepiej jest wiec uzyc Crona do tego. Z jakiego serwera korzystasz ? Macie w szkole jakis postawiony, wykupiliscie, darmowy ?

Najlepiej skontaktuj sie z dzialem pomocy waszego hostingu i zapytaj tam jak uruchomic CRONa, w home.pl jest np dosc wygodny czat do zalatwiania tego typu rzeczy.

A pozniej to juz luz, bierzesz skrypt dtb zapisujesz na serwie, i ustawiasz Crona na niego o 18:59 z pominieciem sobot i niedziel smile.gif


--------------------
"Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"

Go to the top of the page
+Quote Post
M45t3r
post
Post #7





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


konto mamy na serverze miejskim (lubaczow.pl) wyslalem maila do administratora z pyanie o crona i jak narazie nie dostalem odpowiedzi ;/a w panelu do zarzadzania nie mam tej zabawki ...


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
UDAT
post
Post #8





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


  1. <?php
  2. srand ( (int) date ( "Ymd", time ( )-60*60*19);
  3. ?>
Go to the top of the page
+Quote Post
M45t3r
post
Post #9





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


yyy, ale to przypadkiem nie bedzie losowalo co 19h? a ja chce zeby to losowalo o 19:00 smile.gif


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
dtb
post
Post #10





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


UDAT: tez o czyms takim myslalem
M45t3r: nie bedzie losowalo co 19h tylko o 19.


--------------------
Go to the top of the page
+Quote Post
M45t3r
post
Post #11





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


@dtb:

o 15,51 wstawilem kod:

  1. <?php
  2. srand((int)date( "Ymd",time())-60*60*16);
  3. $wynik = rand(1,30);
  4. echo $wynik;
  5. ?>


i widze: 6 teraz jest 16,25 dalej widze 6, wiec ? jeszcze jedna proba: zmieniam na 19, tak jak bylo i zobaczymy co bedzie ...


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post
UDAT
post
Post #12





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


@M45t3r
To nie zadziała, złe nawiasowanie. Zamiast:
  1. <?php
  2. srand((int)date( "Ymd",time())-60*60*16);
  3. ?>

wstaw:
  1. <?php
  2. srand ( (int) date ( "Ymd", time ( )-60*60*16));
  3. ?>
Go to the top of the page
+Quote Post
M45t3r
post
Post #13





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 16.05.2005
Skąd: Lubaczów

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


kurde :/ powiedzmy ze to dziala, ale te liczby strasznie ograniczone sa :/ mozna to jakos inaczej rozwiazac bez crona ?


--------------------
Nie chce pieniedzy, diamentow, tulipanow i fasoli!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 16:21