Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak pobrać rekordy z zakresu dat, ale daty są w Timestamp
BatGraf
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 20.03.2007
Skąd: Kruklanki/Otwock

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


Cześć

Szukałem najpierw, żeby nie było (IMG:style_emoticons/default/smile.gif) - znalazłem, ale wszystko jest na rekordach, gdzie daty są w formacie DD_MM_RRRR ja mam inaczej, a o co chodzi?

Otóż potrzebuję pobrać z bazy SQL rekordy wg dta. Np w dwóch wersjach:
1. wszystkie rekordy, wg kolumny data rejestracji (registration_date) ale tylko z ostatnich 30 dni
2. jw, ale np tylko z października, września czy maja

Wszystko w sieci jest, jedak nie znalazłem nic przy formacie daty w Timestamp, a tak własnie mam w bazie i musi en format daty zostać

Bardzo Was proszę o pomoc - jak to zrobić (IMG:style_emoticons/default/smile.gif) Bedzie to działać z php, ale chodzi mi głównie o zapytanie do bazy
Z góry bardzo dziękuję

"skrawek" zrzutu z bazy:
(IMG:http://puu.sh/cc6d1/8baf0b226c.png)
Go to the top of the page
+Quote Post
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


http://dev.mysql.com/doc/refman/5.5/en/dat...n_from-unixtime
Go to the top of the page
+Quote Post
borabora
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 33
Dołączył: 8.09.2014

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


1.
  1. HERE registration_date >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 30 DAY))


2. wrzesien
  1. WHERE registration_date >= UNIX_TIMESTAMP('2014-09-01') AND registration_date < UNIX_TIMESTAMP('2014-10-01')


Ten post edytował borabora 14.10.2014, 20:12:19
Go to the top of the page
+Quote Post
BatGraf
post
Post #4





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 20.03.2007
Skąd: Kruklanki/Otwock

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


ojoj , chłopaki (IMG:style_emoticons/default/biggrin.gif) a ja ze trzy godziny marnowałem czas (IMG:style_emoticons/default/smile.gif)
Straszne dzieki, problem rozwiązany.
Kombinowałem co prawda z UNIX_TIMESTAMP ale podstawiałem tylko TIMESTAMP

Jeszcze raz dzieki (IMG:style_emoticons/default/smile.gif)

Cytat
WHERE registration_date >= UNIX_TIMESTAMP('2014-09-01') AND registration_date < UNIX_TIMESTAMP('2014-10-01')]


To jednak nie działa, zmieniałem też na czas UNIX, ale dojdę jakoś. Kierunek mam (IMG:style_emoticons/default/smile.gif)

---
Oki, wiem - niepotrzebny nawias zamykający na końcu:
Cytat
WHERE registration_date >= UNIX_TIMESTAMP('2014-09-01') AND registration_date < UNIX_TIMESTAMP('2014-10-01')


Ten post edytował BatGraf 14.10.2014, 20:12:16
Go to the top of the page
+Quote Post
borabora
post
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 33
Dołączył: 8.09.2014

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


na koncu wkleiła mi sie klamra ]
juz poprawilem, spróbuj

Ten post edytował borabora 14.10.2014, 20:13:38
Go to the top of the page
+Quote Post
mmmmmmm
post
Post #6





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Tyle, że between to odpowiednik =< >=, a nie =< >

Tyle, że between to odpowiednik <= >=, a nie <= >
Go to the top of the page
+Quote Post
borabora
post
Post #7





Grupa: Zarejestrowani
Postów: 116
Pomógł: 33
Dołączył: 8.09.2014

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


Cytat(mmmmmmm @ 14.10.2014, 21:58:41 ) *
Tyle, że between to odpowiednik =< >=, a nie =< >

Tyle, że between to odpowiednik <= >=, a nie <= >


wtedy musiałby zamiast '2014 10 01' dać '2014 09 30', to byłoby kłopotliwe, ponieważ miesiące mają różne długości i musiałby je podawać w zapytaniu, a w ten sposób bierze pierwszy dzien kolejnego miesiąca i nie wlicza go do zakresu. dlatego jest tam < a nie <=

Ten post edytował borabora 14.10.2014, 22:44:19
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: 20.09.2025 - 20:09