Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przechowywanie i wyświetlanie daty
Forum PHP.pl > Forum > Bazy danych > MySQL
bobens_83
Witam. Mam następujący problem. W tabeli przechowującej news-y mam kolumne data_news, ktorej typ dalem 'date'. Przy zapisywaniu newsa do bazy, jego data zapisywana jest poprzez zmienna
  1. <?php
  2. $data_news = date(Y-m-d);
  3. ?>
Przy wyświetlaniu owego news-a data wygląda następująco: 0000-00-00 Co robie zle? Pozdrawiam.

PS. Zapytanie za pomocą którego wstawiam:
  1. <?php
  2. $q = "insert into news(tytul_news, tresc_news, data_news) values('".$tytul_news."', '".$tresc_news."', '".$data_news."')";
  3. ?>


a odczytuje:
  1. <?php
  2. $q = "select id_news, tytul_news, data_news from news";
  3. ?>
nospor
se zajrzyj do manuala a bedziesz wiedzial.
http://pl.php.net/manual/pl/function.date.php
Majdan
Jeżeli wykonujesz operacje dotyczące dat na bazie danych, najlepiej stosuj funkcje MySQL - np. NOW(). Jest to szybsze i praktyczniejsze.
Zajrzyj do manuala MySQL po szczegóły.
bobens_83
Podepne sie jeszcze pod ten temat. NOW() to swietne rozwiazanie biggrin.gif . Tylko mam taki problem. Jesli pole daty w bazie jest TIMESTAMP i wstawiam tam date za pomoca NOW() to jak pozniej poradzic sobie ze skryptem 'wyciagajacym' date z tabeli, tak aby wyswietlana byla tylko data (nie zeby czas byl nieistotny, bo jest i to nawet bardzo - chodzi mi tylko o wzgledy estetyczne). Moje php ktore wyciaga rekordy z bazy to:
  1. <?php
  2.  
  3. $db = new mysqli( 'localhost', 'mini', 'mini', 'feniks' );
  4. $q = "select id_news, tytul_news, data_news from news order by data_news desc";
  5. $wynik = $db->query($q);
  6.  
  7. $ile = $wynik->num_rows;
  8.  
  9. echo "<table id="news" cellspacing="15">";
  10.  
  11. for( $i=0; $i<$ile; $i++ )
  12. {
  13. $rzad = $wynik->fetch_assoc();
  14. echo "<tr>";
  15. echo "<td id="data">".$rzad['data_news']."</td>";  // <- jak tu zrobic %Y %M %d
  16. echo "<td id="tytul"><a href="news_pokaz.php?id_news=".$rzad['id_news']."">".stripslashes( $rzad['tytul_news'] )."</a></td>";
  17. echo "</tr>";
  18. }
  19.  
  20. echo "</table>";
  21. $db->close();
  22.  
  23. ?>


wiem, ze istnieja funkcje DATE_FORMAT czy STR_TO_DATE, ale nie umiem ich tu zastosowac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.