Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Praca z czasem
Forum PHP.pl > Forum > PHP
reebel
Mam wrażenie że mój problem jest nadzwyczaj prosty, wiec prosze o wyrozumialość...

w wielkim skrócie to wygląda tak...

założenie:
jakieś pole w rekordzie w bazie danych ma wartość uzupełnioną dzieki funkcji time()

jeśli wartość jest starsza niz 24 godziny to mam np $n = '1'; jeśli nie to $n = '0'; jak to otrzymac?

próbowałem tak:

  1. <?php
  2. ...
  3. if ($data[pole_z_wartoscia]<time()-86400) { $n = '1'; } else { $n = '0'; }
  4. ...
  5. ?>


jednak ten sposób nie działa...

prosze o pomoc
tes
Sprawdziłeś czy dobrze wyciągasz dane z bazy ?
reebel
tak, jestem pewny

hmm...w 1 poscie zrobiel błąd, próbowałem tak:


  1. <?php
  2. if ($data[pole_z_wartoscia]>time()-86400) { $n = '1'; } else { $n = '0'; }
  3. ?>
tes
Rozumiem że teraz wszystko okej ? snitch.gif
Tego typu błędy są najgorsze :/
Athlan
mozesz tak:

  1. <?php
  2.  
  3. $n = ($data[pole_z_wartoscia]>time()-86400) ? '1' : '0';
  4.  
  5. ?>


na marginesie... pzdr
siemakuba
a jaki masz typ pola w bazie?
Cytat
In MySQL 4.1.0, TIMESTAMP columns are stored and displayed in the same format as DATETIME columns.
Jeżeli TIMESTAMP właśnie i MySQL >= 4.1, to musisz go jeszcze sprowadzić z powrotem do timestampa.
Przykład który podałeś działa poprawnie jeżeli zamiast $data[pole_z_wartoscia] wstawimy liczbę na sztywno. Problem musi więc wynikać z danych pobieranych z bazy. Sprawdź jak faktycznie wygląda ta porównywana wartość.

pozdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.