Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] graniczne daty
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Mam problem z zablokowaniem poczatkowej daty kiedy nie bedzie mozliwe np potwierdzenie
mam taki kod
  1. <?php
  2. $data = date ("d-m-Y, G:i"); // aktualna data
  3. $data_poczatek = date ("22-04-2009, 00:45"); // data poczatku promocji
  4. $data_koniec = date ("28-04-2009, 21:02"); // data konca promocji
  5.  
  6.  
  7. if ($data <= $data_poczatek ) {
  8.    echo "promocja sie jeszcze nie zaczela";
  9. }
  10. elseif ($data >= $data_koniec) { // sprawdza date konca promocji
  11.    echo 'Koniec promocji!'; }// komunikat w przypadku przekroczenia daty promocji
  12.    else {
  13.        echo "data rozpoczaecia i zakonczenia ok";
  14.    }
  15. ?>

i cos mi nie dziala sprawdzanie poczatkowej ;/ wie ktos w czym tkwi blad?

Ten post edytował lnn 23.04.2009, 09:16:40
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




to co teraz robisz to porownanie tekstu.
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba

po zatym nie
=>
a:
>=
Go to the top of the page
+Quote Post
lnn
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Cytat(nospor @ 23.04.2009, 10:16:20 ) *
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba

yyy a tak po polskiemu?
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(lnn @ 23.04.2009, 08:17:33 ) *
yyy a tak po polskiemu?

po polskiemu to bedize jakos "weż odpal google i wpissz porównywanie dat"
albo php.net -> strtotime.
Go to the top of the page
+Quote Post
kefirek
post
Post #5





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Użyj
strtotime" title="Zobacz w manualu PHP" target="_manual
oraz
time" title="Zobacz w manualu PHP" target="_manual

I potem sprawdzaj daty
Go to the top of the page
+Quote Post
lnn
post
Post #6





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


nie wiem czy dobrze zrozumieliscie o co mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
mam 3 daty
1 - aktualna
2 - poczatek
3 - koniec

skrypt ma sprawdzac:
1) czy aktualna data nie jest mniejsza od poczatkowej
2) czy aktualna data nie jest wieksza od koncowej
3) jesli spelnia te 2 warunki to skrypt cos tam wykonuje

chodzi o to zeby to zastosowac do jakiejs promocji ograniczonej granicznymi datami - poczatku i konca, nie bardzo wiem od czego zaczac ;/
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


zamień sobie daty na liczbe senkund i porównaj która jest od której większa i już wszystko co jest Ci potrzebne dostałeś już w postach wyżej.
Go to the top of the page
+Quote Post
lnn
post
Post #8





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


zrobilem cos takiego, niby dziala, ale ocencie sami
  1. <?php
  2. $data = date ("d-m-Y, G:i"); // aktualna data
  3. $data_poczatek = date ("27-04-2009, 00:45");
  4. $data_koniec = date ("28-04-2009, 23:02"); // koniec
  5.  
  6. if ($data < $data_poczatek) {
  7.    echo 'promocja sie nie rozpoczela';
  8. }
  9. elseif ($data > $data_koniec) {
  10.    echo 'koniec promocji ';
  11. }
  12. else {
  13.    echo 'wykonaj';
  14. }
  15.  
  16. ?>


Ten post edytował lnn 26.04.2009, 22:24:50
Go to the top of the page
+Quote Post
#luq
post
Post #9





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Słuchaj nospor`a
Cytat
zamien sobie to na unixowy znacznik czasu i wtedy porownuj juz jako liczba


mktime" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
bogdan89
post
Post #10





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


  1. <?php
  2. if ((strtotime($aktualna) >= strtotime($poczatkowa)) && (strtotime($aktualna) <= strtotime($koncowa)))
  3. {
  4.    //ok
  5. }
  6. else
  7. {
  8.    //data aktualna nie jest w przedziale
  9. }
  10. ?>
Go to the top of the page
+Quote Post
lnn
post
Post #11





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


dzieki dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

jeszcze male pytanko, jesli chce zeby to
  1. <?php
  2. if (!(strtotime($data) >= strtotime($data_poczatek)) && (strtotime($data) <= strtotime($data_koniec))) {
  3. ?>

zwracalo blad to ten "!" bedzie zaprzeczal cale wyrazenie? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

pytam dlatego ze sprawdza mi ta instrukcja jeszcze inne rzeczy oprocz daty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i tu chcialbym zeby tylko blad wyskakiwal a w przypadku jesli jest ok zeby przechodzilo do sprawdzania kolejnego warunku..
Go to the top of the page
+Quote Post
#luq
post
Post #12





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Musisz zanegować wszystko, tzn.
  1. <?php
  2. if ( !( ( strtotime($data) >= strtotime($data_poczatek) ) && ( strtotime($data) <= strtotime($data_koniec) ) ) )
  3. ?>
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: 3.10.2025 - 14:30