Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]co zrobić z taką data?
dudziec
post 23.11.2010, 14:22:59
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.06.2005
Skąd: Knurów

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


Witam serdecznie,
co mam:
W bazie danych MySql utworzona została kolumna data - do niej wpisywane są w formularzu daty w formacie : RRRR-MM-DD i tak tez jest w bazie danych - niby tam jest tyo Data.

jesli chcem ja wyswietlic to normalnie wszystko funkcjonuje jak powinno

Problem

co zrobić by w Php by np z takiej daty 2010-11-18 która została pobrana i zapisana pod zmienna: $rek['data'] zustało to podzielone na 2010, 11, 18 questionmark.gifquestionmark.gif

próbowałem użyć :

  1. $rok = date('m' , $rek['data']);


i wyskakują mi same 01 questionmark.gifquestionmark.gif


kod:


  1.  
  2. while($rek = mysql_fetch_array($wynik)) {
  3. $year = date('m' , $rek["data"]);
  4. echo'<li><b>'.$rek['data'].'</b> - '.$rek['tresc'].'</li>' ;"<br/>";
  5. echo $year;
  6.  
  7. }



moze gdzies cos przeoczyłem?questionmark.gifquestionmark.gif?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
wookieb
post 23.11.2010, 14:25:14
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl2.php.net/manual/pl/datetime.createfromformat.php


--------------------
Go to the top of the page
+Quote Post
tolomei
post 23.11.2010, 14:34:56
Post #3





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Możesz ją wyciągnąć z bazy w taki sposób, aby była już sformatowana jak chcesz.
Służy do tego funkcja MySql DATE_FORMAT().

Mniej więcej:
Cytat
SELECT DATE_FORMAT(kolumna_daty, kod_formatów) FROM nazwa_tabeli


Listę kod_formatów masz tutaj:
http://dev.mysql.com/doc/refman/5.1/en/dat...ion_date-format


--------------------
“ Computers are good at following instructions, but not at reading your mind. ”
- Donald Knuth
Go to the top of the page
+Quote Post
dudziec
post 23.11.2010, 14:53:54
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.06.2005
Skąd: Knurów

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


Cytat(wookieb @ 23.11.2010, 14:25:14 ) *



Wookieb , tak przegladałem tą strone problem polega w tym, ze kompletnie tego nie rozumiem z tymi datami - niby data i dlaczego PHP nie rozumi tej daty poprawnie ? gdzie jest problem questionmark.gif? dlaczego 01 mi pokazuje questionmark.gif?
Go to the top of the page
+Quote Post
wookieb
post 23.11.2010, 15:00:33
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl.php.net/manual/pl/function.date.php
druga paremetr to liczba a nie data
A liczba to to
Cytat
Opcjonalny parametr uniksowy znacznik czasu timestamp jest typu integer i domyślnie jest ustawiony na bieżący czas lokalny jeśli timestamp nie został podany. Innymi słowy, domyślnie to wartość funkcji time().


To co Ci podałem tworzy obiekt DateTime z daty o podanym formacie. A z obiektu datetime z datą możesz robić wszystkie cuda.

Ten post edytował wookieb 23.11.2010, 15:01:45


--------------------
Go to the top of the page
+Quote Post
dudziec
post 23.11.2010, 15:23:37
Post #6





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.06.2005
Skąd: Knurów

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


Cytat(wookieb @ 23.11.2010, 15:00:33 ) *
http://pl.php.net/manual/pl/function.date.php
druga paremetr to liczba a nie data
A liczba to to

To co Ci podałem tworzy obiekt DateTime z daty o podanym formacie. A z obiektu datetime z datą możesz robić wszystkie cuda.


czyli jak dobrze zriozumiałem musze zastosować schemat:

<?php
$date = date_create_from_format('j-M-Y', '15-Feb-2009');
echo date_format($date, 'Y-m-d');
?>

A w mim przypadku bedzie to powiedzmy - jest to poprawne ? dobrze mysle questionmark.gifquestionmark.gif:

while($rek = mysql_fetch_array($wynik)) {
$ddd=$rek['data'];
$date = date_create_from_format('Y-m-j', $ddd);
echo date_format($date, 'Y-m-d');

echo'<li><b>'.$rek['data'].'</b> - '.$rek['tresc'].'</li>';echo"<br/>";


}
Go to the top of the page
+Quote Post
Ghost_78
post 23.11.2010, 15:31:07
Post #7





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


  1. //np:
  2. $date = '10-11-2009';
  3. echo date( 'Y-m-d',strtotime($date));


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
dudziec
post 23.11.2010, 15:57:07
Post #8





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 3.06.2005
Skąd: Knurów

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


Cytat(Ghost_78 @ 23.11.2010, 15:31:07 ) *
  1. //np:
  2. $date = '10-11-2009';
  3. echo date( 'Y-m-d',strtotime($date));


Faktycznie ...

pokazuje mi miesiąc , rok, dzień

$ddd=$rek['data'];
echo date( 'm',strtotime($ddd));
echo"<br>";
echo date( 'Y',strtotime($ddd));
echo"<br>";
echo date( 'd',strtotime($ddd));
echo"<br>";

Dziękuje wszytskim za pomoc winksmiley.jpg Kazda pomoc doprowadziła meni do czegoś nowego winksmiley.jpg
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 - 02:41