![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Dzięn dobry. Przeszukałem forum i nie znalazłem odpowiedzi na swój problem. Mam tabelę z polem data_wejscia w którym przechowuję datę wejścia usera na stronę. Chciałbym za pomocą SQL wyciągnąć i policzyć wszystkich userów wchodzących np. dzisiejszego dnia. Aha format daty w polu data_wejscia to DATETIME. Czy da się to zrobić za pomoca tylko kodu SQL? W sql-u wymysliłem na razie coś takiego:
- co daje mi tablicę z datami godzinowymi. Może ktoś się już z tym męczył? Oczywiście analogiczny problem mam z tygodniem, miesiącem i rokiem. Pozdrawiam wszystkich forumowiczów -- Marcin Jaworski |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 297 Pomógł: 0 Dołączył: 17.01.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Kod na wyswietlenie daty to
[php:1:beed115356] <?=date('Y-m-d')?> [/php:1:beed115356] Spróboj w miejsce %H wpisac całą strukture która wyświetla date czyli np: %dzień miesiąc rok czy jakoś ta albo coś w stylu %y%m%d ale nie daje głowy czy tak pojdzie wyświetla ci godzine bo H do jak samo przez sie wskazuje Godzina |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W końcu sam wpadłem na rozwiązanie. Z tego zapytania SQL:
[sql:1:d905f6d82d]$sql = 'SELECT DATE_FORMAT( data_wejscia, '%H' ) AS 'data'' . ' FROM logi' . ' WHERE data_wejscia > CURDATE( ) ' . ' ORDER BY data_wejscia ASC'; [/sql:1:d905f6d82d] - uzyskujemy wszystkie pola z datą w formacie 00-23, następnie zapisuje te wyniki do tabeli i za pomocą funkcji [php:1:d905f6d82d]array_count_values()[/php:1:d905f6d82d] liczę wszystkie pozycje i zapisuję do tablicy asocjacyjnej - i już ![]() Poniżej reszta kodu: [php:1:d905f6d82d] $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $tbl[] = $row[0]; } $tbl_ass = array_count_values($tbl); echo "<tr><td><ul>n"; foreach ($tbl_ass as $key => $val) { echo "<li>Godzina: <b>$key</b> || Ilo¶ć: <b>$val</b></li>n"; } [/php:1:d905f6d82d] Analogicznie można postąpić zliczając wszystkie rekordy z danego tygodnia, miesiąca, czy roku [kwestia napisania kodu SQL]. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 00:43 |