Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Newsy. MySQL, podział na miesiące
Marusz
post 4.07.2003, 14:30:12
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.
Go to the top of the page
+Quote Post
spenalzo
post 4.07.2003, 19:12:42
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.


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

Go to the top of the page
+Quote Post
Marusz
post 4.07.2003, 21:23:50
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.
Go to the top of the page
+Quote Post
Teodor
post 4.07.2003, 23:24:37
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 tongue.gif

Najlepiej wyciagac z bazy (wogole operowac na "czasie") w postaci znacznikow unixowych a dopiero wyswietlac w postaci dd.mm.YYYY.
Go to the top of the page
+Quote Post
spenalzo
post 4.07.2003, 23:33:20
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]


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

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: 18.07.2025 - 04:19