Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> update do bazy danych o określonej godzinie, problem z wykonaniem skryptu
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam,
Mam następujący problem:

Mam skrypt w którym co niedziele o godzinie 00:00 powinno nastąpić zapisanie danych do bazy danych. Danymi jest 10 pozycji, na które najczęściej oddawano głos w sądzie. Chodzi o to by zrobić Update na tych 10ciu rekordach zmieniajac ich status z 0 na 1.

Robię następującą rzecz:

1) Mam ustawioną datę ( w bazie danych MySql ) np. 5 Sierpień godz. 00:00 i zczytuję ją taki zapytaniem:

  1. SELECT DATE_FORMAT(data1,'%d.%m.%Y.%H.%i.%s') as data1 FROM test WHERE id = (tutaj pewna wartość)
  2.  
  3. $data1 = $row['data1'];


2) Porównuję ustawioną datę i datę obecną. Na obecnej dacie mam ustawiony znacznik czasu tak samo jak w dacie pobranej z bazy, a więc:

  1. $data2 = date("d.m.Y.H.i.s");


3) Jeżeli daty będą równe następuje Update w bazie (zmiana statusu z 0 na 1)

  1. if($data1 == $data2){
  2.  
  3. for(){
  4. UPDATE test SET status = 1 WHERE id = (tutaj pewna wartość)
  5. }
  6.  
  7. itd.
  8.  
  9. }



Wykonuję testy i niestety nie działa. Testy wykonuję na localhoście.
Pytanie czy zadanie robię źle i tym sposobem nigdy mi to nie zadziała, czy zadziała ale dopiero jak umieszczę skrypt na serwerze hostingowym ?

Czy ewentualnie powinienem to robić w inny sposób ?

dzięki

Ten post edytował damianooo 31.07.2012, 17:51:23
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


Powinieneś tutaj użyć CRON. Ustawiasz Crona, żeby w każdą niedzielę o 00:00 czy kiedy tam chcesz, odpalił skrypt i tyle. Twój sposób zadziała tylko jak ktoś wejdzie na tą stronę tego dnia, a CRON to automat działający na serwerze.
Go to the top of the page
+Quote Post
damianooo
post
Post #3





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


ok ... tak też myślałem że trzeba użyć CRONA ... czytałem trochę o tym ale jeszcze tego nie używałem ... rozumiem że powinienem ten skrypt umieścić w takim pliku:

cron-weekly.php

i następnie ten plik wyeksportować na serwer hostingowy .

I już wszystko będzie działać? Czy nie muszę niczego zmieniać w ustawieniach serwera żeby CRON działał, tzn. np. przekazać adminowi serwera , poprosić aby coś ustawił w konfiguracji aby CRON działał ?

I czy w pliku cron-weekly.php wystarczy że pomiędzy znacznikami <?php ?> umieszczę cały kod i będzie działało?

Czy na localhoscie mogę to samo zrobić ?

I jeszcze jedno pytanie . Jak nazwać plik CRONa żeby skrypt wykonywał się co tydzień w niedzielę o 00:00 ... bo ten przykład co podałem to podobno wykonuje się co sobotę ( tak wyczytałem )
Go to the top of the page
+Quote Post
markonix
post
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Gdzie Ty takie bzdury wyczytałeś?

CRON to w uproszczeniu dwie rzeczy - adres skryptu (plik) i harmonogram.
Ustawienia harmonogramu to sprawa na serwerze, większość paneli hostigowych pozwala na samodzielne ustalanie zadań cron bez fatygowania administratora.
Go to the top of the page
+Quote Post
tehaha
post
Post #5





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


@markonix wyczytał to pewnie na home.pl bo tam tak jest, że nie możesz sam konfigurować crona tylko właśnie taki śmieszny sposób mają. @damianooo normalnie to tak nie działa, w panelu na hostingu np. directadmin ustawia się CRON'a. Na swoim komputerze czyli na localhost zrobisz to tylko jeżeli posiadasz linuxa, na win tego nie zrobisz.

Edit: Małe sprostowanie na win też to zrobisz ale nie CRON'em tylko jest jakiś tam Task Scheduler. W każdym razie na praktycznie każdym hostingu będziesz mógł to bardzo łatwo ustawić sobie w panelu zarządzania.

Ten post edytował tehaha 31.07.2012, 18:16:05
Go to the top of the page
+Quote Post
damianooo
post
Post #6





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


ok to chciałem właśnie wiedzieć ...

dzięki
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Hmm, w takim razie pozostaje poszukać sposoby na cron-daily i sprawdzać czy mamy dzisiaj niedzielę...
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: 4.10.2025 - 01:44