Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wartość danej w zależności od daty
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


załóżmy ze mam zmienną o nazwie:
  1. $ilosc

Pobieram bieżącą datę za pomocą:
  1. $data = date("d-m-Y");

Chciałbym aby jutro, zmienna $ilosc była większa o 100.Pojutrze zeby była większa o kolejne 100. Czyli zmienna jest zależna od dnia, po godzinie 24:00 zmienna zwiększa się o zadaną wartość dajmy na to o 100. Jak to zrobić?
Go to the top of the page
+Quote Post
john_doe
post
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


żeby samo Ci się to działo po północy to musi to działać na cron`ie.

fajne ćwiczenie w ogóle dla Ciebie.

zapisz sobie datę startową np do pliku, odczytuj ten wpis i porównuj z datą dzisiejszą.
zwykły zapis i odczyt z pliku + ify.

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





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


no wlasnie myslałem nad bazą danych, ale chciałem tego uniknąć, jakie rozwiązanie bedzie lepsze w tym przypadku zapisywac datę do pliku czy do bazy? oraz czy nie da się tego zrobić bez plików i bazy w php
Go to the top of the page
+Quote Post
GreenGo
post
Post #4





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

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


hmm, a możę weź datę w timestamp ( ilość sec od 1970 roku). Ustal od kiedy ma się zwiększać ta Twoja zmienna (86400sec * ilość dni od 1970 roku) i odejmij od timestamp.
Potem ifami psrawdzaj czy upłynęło kolejne 86400 sec i jeśli tak to zwiększaj zmienną.

Nie wiem czy dobrze kombinuję ale będziesz miał co każde 24 nową wartość zmiennej.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Możesz to zrobić i w pliku i w bazie.
Dla pliku zrób tak:
Zawartość pliku:
24-10-2010 17:55|200

Oznacza to że w powyższym czasie wartość zmiennej była równa 200. Plik odczytuj do tablicy za pomoca explode:
  1. $zpliku=explode("|",$zpliku);
Teraz $zpliku[0] będzie datą a $zpliku[1] wartością. Następnie wystarczy że porównasz obecną datę z tą z plku, obliczysz ile minęło dni i o odpowiednią ilość zwiększysz wartość:
  1. $teraz=time();
  2. $data=time($zpliku[0]);
  3. $roznica=$teraz-$data;
  4. $dni=$różnica/86400; 60sekund * 60minut * 24 godziny
  5. $dni=round($dni); //zaokrąglenie do całych dni
  6. for($i=0;$i<$dni;$i++){
  7. $zpliku[1]=$zpliku[1]+100; //zwiększanie wartości o szukaną ilość
  8. }
No i Cron jest zbędny.
PS. Pisane z palca, nie sprawdzane. Może nie działać, lub mogą być usterki. Ale sposób sądzę, że trafny.

Ten post edytował sadistic_son 19.11.2010, 00:37:25
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: 18.09.2025 - 02:16