Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP, MySQL]
Forum PHP.pl > Forum > Przedszkole
swist666
Wiem, że niektórym wyda się to banalne ale nie jestem pewien...

Mam w bazie mysql pole typu date, mogę je porównać w ten sposób:

  1. <?php
  2. if ($row['data'] > date("Y-m-d"))
  3. {
  4. ...
  5. }
  6. ?>


chodzi mi o to, żeby sprawdzić czy data w bazie danych jest większa od aktualnej...

i jeszcze jedno.. mam to pole typu date.. jak mogę dodać do niego np. 100 dni?? zadziała to??

  1. <?php
  2. $nowa_data = $row['data'] + 100;
  3. mysql_query("UPDATE tabela SET data=".$nowa_data." WHERE id=".$id);
  4. ?>


pisane z ręki.. chodzi o sens - jak dodać te 100 dni?? Jeszcze muszę napisać ograniczenie - w przypadku kiedy $row['data'] == "0000-00-00" lub $row['data'] < date("Y-m-d") (o ile zadziała.. wyżej pytanie smile.gif) aby dodać nie do daty w bazie a do aktualnej i wtedy dodać nową do db ale to chyba wiem jak zrobić:

  1. <?php
  2. if (($row['data'] == "0000-00-00") OR ($row['data'] < date("Y-m-d")))
  3. {
  4. $nowa_data = date("Y-m-d") + 100
  5. }
  6. ?>


Ale znowu czy zadziała $nowa_data = date("Y-m-d") + 100 questionmark.gif
Praktycznie jestem pewien, że nie ale nie wiem jak zrobić aby zadziałało... sad.gif
Muszę dodać równo 100 dni a nie chce mi się pisać f-cji która będzie badała czy miesiąc ma 30 czy 31 czy jeszcze inną ilość dni - musi się to dać zrobić jakoś prościej smile.gif

Pozdrawiam, swist666
Gość
Cytat(swist666 @ 27.03.2008, 23:15:37 ) *
i jeszcze jedno.. mam to pole typu date.. jak mogę dodać do niego np. 100 dni??


poczytaj o tej funkcji http://pl.php.net/manual/pl/function.strtotime.php
i o tej http://dev.mysql.com/doc/refman/5.0/en/dat...nction_date-add
artega
  1. <?php
  2.  
  3. $sql_wieksze = "SELECT * FROM data WHERE data.date > '".date("Y-m-d H:")."'";
  4.  
  5. $sql_dodaj_dni = "UPDATE data SET data.date = data.date + 100 WHERE id = $id";
  6.  
  7. ?>

Lub możesz operować na timestamp'ie tak:
  1. <?php
  2.  
  3. $data_plus_100_dni = strtotime($row['date']) + (60*60*24*100);
  4.  
  5. ?>


czyli w Twoim przypadku będzie to np.

  1. <?php
  2.  
  3. if (($row['data'] == "0000-00-00") OR ($row['data'] < date("Y-m-d")))
  4. {
  5. $nowa_data = strtotime($row['data']) + (60*60*24*100);
  6. }
  7.  
  8. ?>
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.