Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt z datą.
MagnuM
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 7.05.2004
Skąd: Jelenia Góra

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


Witam!

Właściwie przygodę z php zacząłem niedawno i chciałem sprawdzić wkońcu swoje umiejętności.
Chciałem zbudować pierwszy złożony(az z dwóch plików (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) skrypt generujący datę.

O to i mój przeznakomity skrypt któy generuje ale...błędy (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)


index.php
[php:1:21c2069939]<?

include("funkcje.php");

print("$data");

?>[/php:1:21c2069939]

funkcje.php
[php:1:21c2069939]<?

function data ($dzien $miesiac $rok)

{

$dzien = date("d");
$miesiac = date("m");
$rok ("Y");
$niezidentyfikowana = niezidentyfikowana;

switch($miesiac) {

case '1' : $miesiac = 'stycznia'; break;
case '2' : $miesiac = 'lutego'; break;
case '3' : $miesiac = 'marca'; break;
case '4' : $miesiac = 'kwietnia'; break;
case '5' : $miesiac = 'maja'; break;
case '6' : $miesiac = 'czerwca'; break;
case '7' : $miesiac = 'lipca'; break;
case '8' : $miesiac = 'sierpnia'; break;
case '9' : $miesiac = 'września'; break;
case '10' : $miesiac = 'października'; break;
case '11' : $miesiac = 'listopada'; break;
case '12' : $miesiac = 'grudnia'; break;
default: $miesiac = 'niezidentyfikowana'; break;

} }

if ($miesiac == niezidentyfikowana) {
print ("skrypt wygenerował niepoprawną datę");
} else {
print data("$dzien $miesiac $rok"); }
?>
[/php:1:21c2069939]

Mógłby mi ktoś przedstawić gdzie tkwi mój błąd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ? Proszę tylko głośno się nie śmiać i nie krzyczeć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Dziękuję za pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Jojo
post
Post #2





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

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


Teraz to kapkę namieszałeś (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Moim zdaniem najłatwiej by było napisać jedną funkcję zwracającą całą datę w odpowiednim formacie.
[php:1:f1bc3ce311]<?php
function data( $time )
{

$miesiac = date( 'n', $time );
$dzien = date( 'w', $time );

switch( $miesiac ) // ustawiamy odpowiednią nazwę miesiąca
{
case '1' :
$nazwa_miesiaca = 'stycznia';
break;
case '2' :
$nazwa_miesiaca = 'lutego';
break;
case '3' :
$nazwa_miesiaca = 'marca';
break;
case '4' :
$nazwa_miesiaca = 'kwietnia';
break;
case '5' :
$nazwa_miesiaca = 'maja';
break;
case '6' :
$nazwa_miesiaca = 'czerwca';
break;
case '7' :
$nazwa_miesiaca = 'lipca';
break;
case '8' :
$nazwa_miesiaca = 'sierpnia';
break;
case '9' :
$nazwa_miesiaca = 'września';
break;
case '10' :
$nazwa_miesiaca = 'października';
break;
case '11' :
$nazwa_miesiaca = 'listopada';
break;
case '12' :
$nazwa_miesiaca = 'grudnia';
break;
}

switch( $dzien ) // ustawiamy odpowiednią nazwę dnia
{
case '1' :
$nazwa_dnia = 'Poniedziałek';
break;
case '2' :
$nazwa_dnia = 'Wtorek';
break;
case '3' :
$nazwa_dnia = 'Środa';
break;
case '4' :
$nazwa_dnia = 'Czwartek';
break;
case '5' :
$nazwa_dnia = 'Piątek';
break;
case '6' :
$nazwa_dnia = 'Sobota';
break;
case '7' :
$nazwa_dnia = 'Niedziela';
break;
}

return $nazwa_dnia.', '.date( 'j', $time ).'. '.$nazwa_miesiaca.' '.date( 'Y', $time );

}
?>[/php:1:f1bc3ce311]
Teraz w pliku, w którym chcesz wyświetlić datę wystarczy dać coś takiego:
[php:1:f1bc3ce311]<?php
include( "funkcje.php" );
echo data( time() );
?>[/php:1:f1bc3ce311]
A na koniec niespodzianka (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Męczyłeś się wystarczająco długo z tą funkcją, więc mogę pokazać Ci o wiele prostszy i łatwiejszy sposób na uzyskanie daty po polsku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Oto on:
[php:1:f1bc3ce311]<?php
$arrLocale = array( "pl_PL", "polish_pol", "pl_PL.ISO8859-2" );
setlocale( LC_ALL, $arrLocale );
echo strftime("%A, %d. %B %Y");
?>[/php:1:f1bc3ce311]
Jeśli chcesz więcej szczegółów na temat powyższego sposobu, to polecam artykuł: http://php.pl/index.php/phppl/artyku_y/pom...a_sprawa_polska oraz Manual php (funkcje [manual:f1bc3ce311]setlocale[/manual:f1bc3ce311] oraz [manual:f1bc3ce311]strftime[/manual:f1bc3ce311]).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 09:25