Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie według dnia, mając datę w postaci 'time'
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

Mam w tabeli statystyki odwiedzin strony wraz z innymi informacjami i podanym czasem wejścia w postaci takiej, jak otrzymuje z funkcji time(). Ale chcę wyciągnąć z tej bazy, wyniki pogrupowane dniami - tzn. wszystkie wejścia z dnia 22.07.2009 w jednej grupie, pakiecie i tak samo z wejściami z dnia 17.07.2010. Jak mogę to zrobić?

Pozdrawiam, Mateusz!


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Jak rozumiem masz na myśli PHPową funkcję time() czyli po prostu unixowy timestamp?

Kod
ORDER BY DATE(FROM_UNIXTIME(kolumna))
Go to the top of the page
+Quote Post
thomson89
post
Post #3





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Dałem sobie tak:
Kod
SELECT * FROM `stat` ORDER BY DATE(FROM_UNIXTIME(`kolumna`))


I pokazuje wszystko. Dlaczego?


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Mchl
post
Post #4





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Może podaj przykład danych i wyniku jaki chciałbyś uzyskać, bo może źle się rozumiemy.
Go to the top of the page
+Quote Post
thomson89
post
Post #5





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Kod
id     ip     skad                   data_wejscia     user_agent
1    xxx    http://www.xxx.pl    1263142037    Opera/9.80
2    xxx    http://www.xxx.pl    1263142050    Opera/9.80
3    xxx    http://www.xxx.pl    1263142269    Opera/9.80
4    xxx    http://www.xxx.pl    1263142377    Opera/9.80


Takich danych, mam kilka tysięcy. I chciałbym wybrać te dane, które pochodzą z danego dnia który podam.

Jeszcze lepiej, gdybym otrzymał numery id które są z jednego dnia. Np. 15 wejść było wczoraj, a 20 dziś. I chcę otrzymać że id 1 - 15 16.07.2010, a id 16 - 36 17.07.2010. Ale nie wiem czy się tak da.

To pierwsze, mi przypasuje ale tak dla nauki chciałbym wiedzieć też drugi sposób.

Ten post edytował thomson89 18.07.2010, 17:58:43


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
icetique
post
Post #6





Grupa: Zarejestrowani
Postów: 72
Pomógł: 13
Dołączył: 12.04.2009

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


  1. SELECT *, DATE(FROM_UNIXTIME(`kolumna`)) AS `data` FROM `stat` GROUP BY DATE(FROM_UNIXTIME(`kolumna`)) ORDER BY `data`


Nie sprawdzałem.

Ten post edytował icetique 18.07.2010, 18:25:01
Go to the top of the page
+Quote Post
thomson89
post
Post #7





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


To mi daje po jednym rekordzie z jednego dnia.

Ale ten poniżej już spełnia moje oczekiwania, co do wyboru rekordów z danego dnia.

  1. SELECT * , DATE( FROM_UNIXTIME( `data_wejscia` ) ) AS `data`
  2. FROM `stat` WHERE DATE( FROM_UNIXTIME( `data_wejscia` ) ) = '2010-07-18'


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Mchl
post
Post #8





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


A może tak?

Kod
SELECT DATE(FROM_UNIXTIME(data_wejscia)) AS data_wejscia, COUNT(*) AS ile, GROUP_CONCAT(id) AS ip FROM stat GROUP BY DATE(FROM_UNIXTIME(data_wejscia))


questionmark.gif
Go to the top of the page
+Quote Post
thomson89
post
Post #9





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


No już lepiej. Lecz nie wiem, co otrzymuje w kolumnie IP?

Kod
data_wejscia     ile     ip
2010-01-10    26    [BLOB - 7bajtów]
2010-01-11    38    [BLOB - 18bajtów]
2010-01-12    17    [BLOB - 20bajtów]
2010-01-13    36    [BLOB - 17bajtów]
2010-01-14    18    [BLOB - 23bajtów]


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Mchl
post
Post #10





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


ipki posklejane przecinkiem. Możesz to normalnie wyświetlić w PHP.
Go to the top of the page
+Quote Post
thomson89
post
Post #11





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Dzięki wielkie za pomoc!


--------------------
Sklep 70%
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 Aktualny czas: 20.08.2025 - 01:47