Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP, MySQL], sumowanie dat
swist666
post
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 1
Dołączył: 14.05.2004
Skąd: Wrocław

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Praktycznie jestem pewien, że nie ale nie wiem jak zrobić aby zadziałało... (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam, swist666
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
-Gość-
post
Post #2





Goście







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
Go to the top of the page
+Quote Post
artega
post
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


  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. ?>
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: 22.08.2025 - 22:11