Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP+MySQL] Problem z datą (base64_decode)
roobik
post
Post #1





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Witam!
W mojej bazie data jest przechowywana w bazie jako niezrozumiały ciąg znaków. Dopiero gdy dam:
  1. $wpis_dodano = base64_decode($row[2]);

to data jest wyświetlana (powiedzmy) poprawnie w formacie np. 15-02-10
Czy istnieje możliwość wyświetlenia daty w formacie 15 lutego 2010 ?
Bardzo proszę o pomoc...
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1) Dlaczego nie trzymasz daty w DATATIMEe czy TIMESTAMPie tylko jako zwykły tekst?
2) Tak. strtotime, date
Go to the top of the page
+Quote Post
roobik
post
Post #3





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Tzn mam zrobić coś takiego:
  1. int strtotime ( string $dodano [, int $row[2] ] )

?
Jestem zielony z tego tematu...
Go to the top of the page
+Quote Post
Pilsener
post
Post #4





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


1. Zmień sposób przechowywania daty - raz
2. Dwa - rozbij datę na parametry:
  1. list($dzien,$miesiac,$rok) = explode("-","15-02-10");

3. Zamień datę zwykłą na timestamp funkcjami typu mktime - możesz też od razu użyć strtotime z pominięciem pkt 2, ale trzeba sprawdzić czy poprawnie zamienia.
4. Wyświetl dowolny format daty przy pomocy funkcji:
strftime
date

Aby uzyskać luty a nie np. february pamiętaj o ustawieniu odpowiedniego języka:
http://pl.php.net/manual/pl/function.setlocale.php
Go to the top of the page
+Quote Post
roobik
post
Post #5





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Zajrzałem do bazy. Kolumna wpis_dodjest typu text. Oczywiście mogę zmienić typ tego pola, ale nie wiem, co lepsze:
DATE
DATETIME
TIMESTAMP
TIME
?

Już chyba nie będę musiał wywoływać to w sposób:
  1. $wpis_dodano = base64_decode($row[2]);

tylko np:
  1. $wpis_dodano = $r['wpis_dod'];

Jesli już będę miał w bazie datę w formacie 00-00-0000 00:00:00, to myślę, ze już z resztą sobie poradzę (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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: 5.10.2025 - 23:49