Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]dodanie daty
mit2
post 21.04.2011, 09:15:31
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


witam mam taki problem z dodaniem daty do mysql mam np. date 2011-04-21 10:02:36 i chciałbym dodac do niej np. 30 dni i wysłac to do mysql
mam taki kod php
  1. $datas = time();
  2.  
  3. if($pokh[okres] == '1')
  4. {
  5. $okresx = '+30 days';
  6. }
  7. if($pokh[okres] == '2')
  8. {
  9. $okresx = '+60 days';
  10. }
  11. if($pokh[okres] == '3')
  12. {
  13. $okresx = '+90 days';
  14. }
  15. if($pokh[okres] == '6')
  16. {
  17. $okresx = '+180 days';
  18. }
  19. if($pokh[okres] == '12')
  20. {
  21. $okresx = '+1 year';
  22. }
  23. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '?><?php echo date('n,j,Y H:i:s', strtotime('$okresx', $datas)); ?><?php', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";
  24. $insert = mysql_query($insert);

jak bym to mógł zrobic. Z góry dzięki
Go to the top of the page
+Quote Post
Hpsi
post 21.04.2011, 09:22:48
Post #2





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Ogólnie bezensu tutaj to zrobiłeś? dlaczego masz 5 ifów ? i nie uzywasz elseif
To pierwsza uwaga
Jesli pole data masz w bazie jako datetime to dajesz takie cos
  1. echo '`koniec_okresu`=`koniec_okresu`+('.$czas.')';

Gdzie czas = w sekundach wyliczony


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
nospor
post 21.04.2011, 09:23:34
Post #3





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




Nie: strtotime('$okresx'
a: strtotime($okresx

Warto by się zapoznać wpierw z podstawami.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 09:29:20
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Ale namieszałes wink.gif
sprawdz tak:
  1. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '.date('Y-m-d H:i:s', strtotime($datas.' '.$okresx)).', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
nospor
post 21.04.2011, 09:32:26
Post #5





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




@Ghost_78 sprawdź proszę w manualu jak się używa strtotime i dopiero potem podpowiadaj tongue.gif
Główny błąd jest w tym co podałem.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Hpsi
post 21.04.2011, 09:34:49
Post #6





Grupa: Zarejestrowani
Postów: 483
Pomógł: 50
Dołączył: 15.03.2005
Skąd: Poznań

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


Cytat
Główny błąd jest w tym co podałem.

hehe podoba mi się to określenie biggrin.gif
sorry za offtopic wink.gif


--------------------
Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga
Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie
Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas

===
po prostu kocham ją :D haha
Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 09:41:19
Post #7





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Cytat(nospor @ 21.04.2011, 09:32:26 ) *
@Ghost_78 sprawdź proszę w manualu jak się używa strtotime i dopiero potem podpowiadaj tongue.gif
Główny błąd jest w tym co podałem.

hmmm - no u mnie zapis:
  1. echo date("Y-m-d",strtotime('2000-01-01 +1 day'));

daje : 2000-01-02
jedyne co przeoczyłem to to ze tam jest podawane jest time() zamiast np date('Y-m-d');

sorki za ta pomylke wink.gif i dzieki za uwage nospor smile.gif


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
nospor
post 21.04.2011, 09:50:24
Post #8





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




Ghost chodziło mi o to, że jako pierwszy parametr podaje się np.+1 day a nie data + 1 day. Dopiero drugim parametrem jest data, w zględem której czas jest liczony.
No ale skoro mówisz, że Tobie działa, widać i tak też można smile.gif

Chodziło o to, ze danie w '$zmienna' nie wygeneruje wartości zmiennej tylko tekst '$zmienna'
Ma być albo "$zmienna" albo $zmienna. - to są podstawy obsługi stringów

Cytat
Cytat
Główny błąd jest w tym co podałem.

hehe podoba mi się to określenie
sorry za offtopic
Faktycznie dziwnie to zabrzmiało wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 09:54:07
Post #9





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Cytat(nospor @ 21.04.2011, 09:50:24 ) *
Ghost chodziło mi o to, że jako pierwszy parametr podaje się np.+1 day a nie data + 1 day. Dopiero drugim parametrem jest data, w zględem której czas jest liczony.

Widzisz ... ja znalem taki sposób jaki przedstawiłem ale ten który Ty podałeś wydaje się bardziej czytelny i na niego się przerzucę.
Całe życie się człowiek uczy biggrin.gif a i tak głupi umiera wink.gif
Dzięki za podanie wygodniejszej alternatywy wink.gif


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
mit2
post 21.04.2011, 09:59:39
Post #10





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


narazie nic nie działa niechce dodawać do bazy mysql
Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 10:04:03
Post #11





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


Jakieś błędy?


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ToAr
post 21.04.2011, 10:06:00
Post #12





Grupa: Zarejestrowani
Postów: 49
Pomógł: 18
Dołączył: 7.04.2011
Skąd: Toruń

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


  1.  
  2. $datas = time();
  3.  
  4. if($pokh[okres] == '1')
  5. {
  6. $datas += 30*24*60*60;
  7. }
  8. if($pokh[okres] == '2')
  9. {
  10. $datas += 60*24*60*60;
  11. }
  12. if($pokh[okres] == '3')
  13. {
  14. $datas += 90*24*60*60;
  15. }
  16. if($pokh[okres] == '6')
  17. {
  18. $datas += 180*24*60*60;
  19. }
  20. if($pokh[okres] == '12')
  21. {
  22. datas += 360*24*60*60;
  23. }
  24. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '$datas', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";
  25. $insert = mysql_query($insert);
Go to the top of the page
+Quote Post
mit2
post 21.04.2011, 10:06:05
Post #13





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


błedu rzadnego nie pokazuje ale nie chce dodac do bazy mysql a to napewno jest tylko to ponieważ gdy tego nie mialem normalnie dodawalo do bazy
Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 10:09:36
Post #14





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


zrób
  1. echo $insert.'<br>';
  2. $insert = mysql_query($insert);

wklej wynik


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
mit2
post 21.04.2011, 10:13:15
Post #15





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


INSERT INTO serwer VALUES (NULL, '1231', '3', '1', '4', '5', NOW(), '.date('Y-m-d H:i:s', strtotime(1303377128.' '.+30 days)).', '', 'mit210', '0', '32', '1')
Something is wrong in your syntax obok 'Y-m-d H:i:s', strtotime(1303377128.' '.+30 days)).', '', 'mit210', '0', '32', '1' w linii 1


Ten post edytował mit2 21.04.2011, 10:13:46
Go to the top of the page
+Quote Post
Ghost_78
post 21.04.2011, 10:16:15
Post #16





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


zobacz tak:
  1. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '".date('Y-m-d H:i:s', strtotime($okresx))."', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";

problem w tym ze tam gdzie podajesz date trzeba uzyc ". date()."


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
ToAr
post 21.04.2011, 10:16:50
Post #17





Grupa: Zarejestrowani
Postów: 49
Pomógł: 18
Dołączył: 7.04.2011
Skąd: Toruń

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


na moje oko powinno być jak już tak:

  1. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '".date('Y-m-d H:i:s', strtotime($okresx))."', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";
  2.  


Go to the top of the page
+Quote Post
mit2
post 21.04.2011, 10:22:22
Post #18





Grupa: Zarejestrowani
Postów: 160
Pomógł: 5
Dołączył: 4.08.2010

Ostrzeżenie: (40%)
XX---


Cytat(Ghost_78 @ 21.04.2011, 11:16:15 ) *
zobacz tak:
  1. $insert = "INSERT INTO serwer VALUES (NULL, '$pokh[ip]', '$pokh[port]', '$dodaj[id]', '$pokh[lok]', '$pokh[gra]', NOW(), '".date('Y-m-d H:i:s', strtotime($okresx))."', '', '$dodaj[login]$pokh[id]', '0', '$pokh[sloty]', '1')";

problem w tym ze tam gdzie podajesz date trzeba uzyc ". date()."

pomogło wielkie dzięki.
mam jeszcze takie jedno pytanko poniewarz chciałbym do tej daty co utworzyłem dodać jeszcze 30 dni ale to w następnej kolumnie w jaki sposób mógł bym to zrobić
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 23:30