![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 0 Dołączył: 16.05.2003 Skąd: POLAND Ostrzeżenie: (0%) ![]() ![]() |
Witam grupowiczow. Zrobilem sobie prosty skrypt newsowy. No i tak pomyslalem, ze przydalo by sie rowniez zrobic archiwum owych newsow. No i zaczely sie schody. Nie potrafie wymyslec, w jaki sposob zrobic cos w tym stylu: http://phpnuke.org/modules.php?name=Stories_Archive. Powiem tylko jeszcze, ze tabela odpowiedzialna za date jest formatu timestamp. Potrafie wyswietlic newsa z danego miesiaca, z danej daty, godziny, etc... aczkolwiek nie kumam sposobu, jakim robi sie powyzszy podzial. Z gory dziekuje za odpowiedzi.
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zastosuj [manual:fa66328736]mktime[/manual:fa66328736], żeby wydobyć znacznik czasu odpowiadający danemu dniu, miesiącowi itd. potem wyciągnij kolejny +1 dzień, miesiąc, i wyciągnij z bazy wszystko z tego przedziału.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 191 Pomógł: 0 Dołączył: 16.05.2003 Skąd: POLAND Ostrzeżenie: (0%) ![]() ![]() |
Hm, chyba nie zrozumialem w czym mktime ma mi pomoc. Aby wyciagnac newsy - na przyklad - z miesiaca sierpnia, to wpisuje zapytanie:
[php:1:68a4a55399]<?php $miesiac = '8'; mysql_query("SELECT *, DATE_FORMAT(data, '%d.%m.%Y %H:%i:%s') as data FROM mz_news WHERE MONTH(data) = '$miesiac' order by id DESC"); ?>[/php:1:68a4a55399] i voila. Mnie generalnie chodzi o to, aby AUTOMATYCZNIE robilo sie cos takiego w archiwum - przeciez nie bede co miesiac dopisywal tego recznie. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 13.04.2003 Skąd: Poznan Ostrzeżenie: (0%) ![]() ![]() |
[php:1:15a0f44b11]<?php
for ($miesiac=1; $miesiac <=12; $miesiac++) { mysql_query("SELECT *, DATE_FORMAT(data, '%d.%m.%Y %H:%i:%s') as data FROM mz_news WHERE MONTH(data) = '$miesiac' order by id DESC"); //tutaj ca tam chcesz dla danego miesiaca } ?> [/php:1:15a0f44b11] to do Twojego zapytania. Jednak to nie jest dobre rozwiazanie - wyciaganie z bazy po nr miesiaca - w styczniu sie zdziwisz ![]() Najlepiej wyciagac z bazy (wogole operowac na "czasie") w postaci znacznikow unixowych a dopiero wyswietlac w postaci dd.mm.YYYY. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja miałem na myśli coś takiego.
[php:1:72c1c64c2e]<?php // Pokaz wszystkie newsy np. od 15:15:12 12 maja 2002 do 23:59:59 1 czerwca 2002 $t_poczatkowy=mktime(15,15,12,5,12,2002); $t_koncowy=mktime(23,59,59,6,1,2002); $sql="SELECT * FROM newsy WHERE time > '".$t_poczatkowy."' AND time < '".$t_koncowy."'"; $wyniki=mysql_fetch_array(mysql_query($sql)); [...] ?>[/php:1:72c1c64c2e] -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 04:19 |