![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 11.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam taki problem Pobieram sobie z bazy jakas date i chcialbym aby skrypt dodawal do danej daty kilka dni czyli np. mam 2002-12-12 i chce aby dodal do tej daty np.7 dni i abym otrzymal 2002-12-19 lub np. z 2003-01-20 + 12 dni aby dalo 2003-02-01 Jak to zrobic? Z gory dzieki za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
pobaw się date();. zamien najepierw na sekundy podem dodaj odpowiednią ilość sekund zamień jeszcze raz i UPDATE.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
ewentualnie mozna sie pobawic funkcjami, ktore wbudowane sa w system. zarz. baza danych i od razu pobrac gotowy wynik z bazy danych a nie przerzucac to na dodatkowe linijki kodu w skrypcie
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat ewentualnie mozna sie pobawic funkcjami, ktore wbudowane sa w system. zarz. baza danych i od razu pobrac gotowy wynik z bazy danych a nie przerzucac to na dodatkowe linijki kodu w skrypcie
Racja. Polecam dział Date Calculations z toturiala MySQL do poczytania. -------------------- pozdrawiam, chfast
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
[php:1:fea937d03c]<?php
$data = date("Y-m-d"); ?>[/php:1:fea937d03c] [sql:1:fea937d03c]UPDATE baza_z_data SET nowa_data=DATE_ADD('$data', INTERVAL 7 DAY) where stara_data='$data';[/sql:1:fea937d03c] :} -------------------- yyy...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 11.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
ha..ale caly problem w tym ze ja nie chce nic zmieniac w bazie
tam ma nadal byc to co bylo a roznica w dniach ma byc uzyskiwana tylko po to by pokazac ja na stronie czyli wszystko powinno sie odbyc w kodzie php a nie sql pozdrawiam |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
ok, ja dalej sie bede upieral aby czynnosc pobrania daty + te kilka dni przerzucic na serwer bazy danych
ponizej przedstawiam Ci jak to zrobic w MySQL'u mamy przykladowa baze danych Kod +-------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra | +-------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | | PRI | NULL | auto_increment | | data | date | YES | | NULL | | +-------+------------------+------+-----+---------+----------------+ w niej nastepujace dane Kod mysql> SELECT * FROM test;
+----+------------+ | id | data | +----+------------+ | 4 | 2002-10-12 | | 5 | 2003-10-15 | | 6 | 2003-11-12 | +----+------------+ 3 rows in set (0.00 sec) nastepnie chcemy pobrac z tej bazy wszystkie id, date pierwotna znajdujaca sie w polu data oraz date + 17 dni. wyglada to nastepujaco: zapytanie: [sql:1:f064bc455c] SELECT id, data, DATE_ADD(data, INTERVAL 17 DAY) FROM test; [/sql:1:f064bc455c] wynik zapytania: Kod +----+------------+---------------------------------+
| id | data | DATE_ADD(data, INTERVAL 17 DAY) | +----+------------+---------------------------------+ | 4 | 2002-10-12 | 2002-10-29 | | 5 | 2003-10-15 | 2003-11-01 | | 6 | 2003-11-12 | 2003-11-29 | +----+------------+---------------------------------+ 3 rows in set (0.00 sec) ps. zauwaz, ze dla krotki o numerze id = 5 system sam wyliczyl, ze 15 + 17 to jest 32 i w zwiazku z tym ze miesiac pazdziernik ma tylko 31 dni to sam 'przeskoczyl' na listopad (prosze sie tylko nie nabijac z mojego tlumaczenia) pozdrawiam |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 296 Pomógł: 0 Dołączył: 9.05.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A może by tak po prostu [manual:411a888be6]strtotime[/manual:411a888be6]:
[php:1:411a888be6]<?php $data=mktime(0,0,0,1,23,2002); echo(date("Y-m-d", strtotime("+3 day", $data))); ?>[/php:1:411a888be6] -------------------- audaces fortuna iuvat!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:45 |