Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql]calculate daty - archiwum
JOHNY
post
Post #1





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


Witam ma pewien problem po nowym roku z archiwum w które wyświetla wszystkie daty oprócz ostatniego miesiąca i teraz jest problem bo nie wiem jak to poprawić a działało dobrze

kod:
  1. <?php
  2.  
  3. //$dzisiaj=date('Y-m-d'); // aktualna data
  4. //$rok=date('Y'); // aktualny rok
  5. $miesiac=date('m'); // aktualny miesiac
  6. //$dzien=date('d'); // aktualny dzien
  7. //$iledni = date(\"t\"); //ile dni ma miesiac
  8.  
  9. $roznica = $miesiac - 1;
  10.  
  11.  $query = &#092;"SELECT DISTINCT DATE_FORMAT(data_dodania,'%Y.%m') AS data_dodania FROM newspl WHERE MONTH(data_dodania) <= '\".$roznica.\"' ORDER BY data_dodania DESC\";
  12.  $wynik = mysql_query($query);
  13. while($row = mysql_fetch_array($wynik)) {
  14. $dat=explode(&#092;".\", $row['data_dodania']); //formatowanie daty
  15. $dat[0];
  16. $dat[1];
  17. echo &#092;"<a href=\"archiwum.php?r=\".$dat[0].\"&m=\".$dat[1].\"\" class=\"news_bold\">\".$row['data_dodania'].\"</a><br>\";
  18. ?>


kod wyświetlał a w zasadzie rozdzielał date na rok.miesiac (forma buttona) po naciśnieciu ktorego pod spodem wyświetlał wszystkie newsy z danego roku.miesiąca
Teraz jest problem po nowym roku bo taka funkcja
  1. <?php
  2. $roznica = $miesiac - 1;
  3. ?>
nie ma sensu

Jak to poprawić zeby wyświetlało
2004.12
2004.11
ect

zamiast (tak wyświetla gdy usune z zapytania WHERE - a w takiej postaci jak jest powyższy kod nie wyświetla nic)
2005.01
2004.12
ect

Z góry dzięki za jakąś wskazówke
Go to the top of the page
+Quote Post
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

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


  1. <?php
  2. if($roznica < 1)
  3. {
  4.    $roznica = 12;
  5.    $rok = $rok - 1;
  6. }
  7. ?>

A do warunku w zapytaniu SQL chyba jednak będzie lepiej dać całą datę a nie sam miesiąc.

Ten post edytował crashu 2.01.2005, 20:36:27


--------------------
Go to the top of the page
+Quote Post
JOHNY
post
Post #3





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

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


  1. <?php
  2.  
  3. $query = &#092;"SELECT DISTINCT DATE_FORMAT(data_dodania,'%Y.%m') AS data_dodania FROM newspl WHERE (YEAR(data_dodania) <= '\".$rok.\"' AND MONTH(data_dodania) <= '\".$roznica.\"') ORDER BY data_dodania DESC\";
  4.  
  5. ?>


Qcze zrobiłem tak i nie działa dodając ten kod co napisałeś pokazyje nadal rok 2004 sad.gif i dlaczego nie chce wyświetlać wszystkiego skoro jest
  1. YEAR(data_dodania) <= '".$rok."'

powinno przecież wyswietlić 2005 i mniejsze no chyba że <= jakoś inaczej działa questionmark.gif

Sam nie wiem co tu wymodzić HELP
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 - 11:56