Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Nazwy miesięcy po polsku, zmiana nazw miesięcy
PiiiT
post 27.08.2008, 10:39:22
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 29.02.2008
Skąd: Poznań

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


Witam, mam taki fragment kodu który powinien wyświetlać polskie nazwy miesięcy a pokazuje angielskie. Z góry dziękuję za pomoc.

  1. <?php
  2. for ($j=1;$j<=12;$j++)
  3. {
  4. setlocale(LC_TIME, 'pl_PL', 'pl', 'Polish_Poland.28592');
  5. $content.='<option value='.$j.'>'.strftime("%B", mktime(0, 0, 0, $j, 1, 0));
  6.  
  7. }
  8. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
barthpl
post 27.08.2008, 15:03:45
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

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


Zasadniczo to na przykład tak:
  1. <?php
  2. // zmieniłem trochę funkcję co by było mniej pisania
  3. // za indeksy mogą robić numerki miesięcy nie 
  4. // koniecznie ich angielskie odpowiedniki
  5. function miesiace( $time ){
  6. $key = date( "n" , $time );
  7. $miesiac = array( '', 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień' );
  8. return $miesiac[$key];
  9. }
  10.  
  11.  
  12.  
  13. $content .= '<select name="rmonth">';
  14. $content .= '<option value=0 selected>Cały rok';
  15. for ($j=1;$j<=12;$j++)
  16. {
  17. // tutaj też mała zmiana: 
  18. // $content.='<option value='.$j.'>'.date("m", mktime(0, 0, 0, $j, 1, 0));
  19. // po co zamieniać czas na string'a a potem (w funkcji ) 
  20. // jeszcze raz robić odwrotną konwersję questionmark.gif 
  21. $content.= '<option value='.$j.'>'. miesiace(mktime(0, 0, 0, $j, 1, 0) );  
  22. }
  23. ?>



Co do twojego błędu to nie można w pętli wstawiać definicji funkcji bo jedna funkcja może być zadeklarowana tylko raz. Polecam przejrzeć jakiś kurs PHP dla początkujących, przyda sie winksmiley.jpg

edit -->
A czy do takiego zastosowania nie wystarczyło by coś takiego questionmark.gif
  1. <?php
  2. $miesiac = array( 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień' );
  3.  
  4. $content .= '<select name="rmonth">';
  5. $content .= '<option value=0 selected>Cały rok';
  6. for( $j=0; $j<12; $j++ )
  7. $content.= '<option value='.($j+1).'>'.$miesiac[$j].'</option>';
  8. ?>


I jeszcze jedna mała uwaga: warto zamykać tagi.

Ten post edytował barthpl 27.08.2008, 15:06:48


--------------------
Jeżeli pomogłem rozwiązać Twój problem, kliknij pomógł.
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 20:19