Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql]Data i godz
Forum PHP.pl > Forum > Przedszkole
Włodek
Witam,

Mam w bazie pole "datetime". Jak wyświetlić tylko datę?

Mój kod.

  1. <?php
  2. $sql "select data,....,....
  3. from tabela";
  4.  
  5. $wynik = mysql_query($sql);
  6.  
  7. while ($wiersz = mysql_fetch_array($wynik))
  8. {
  9. $data = $wiersz["data"];
  10. $pole = $wiersz["pole"];
  11.  
  12. echo "$data $pole";
  13. }
  14. ?>
babejsza
  1. <?php
  2. $query = mysql_query('SELECT LEFT(data, 10) AS sama_data FROM tabela');
  3. ?>


a najlepiej

  1. <?php
  2. $query = mysql_query('SELECT DATE(data) AS sama_data FROM tabela');
  3. ?>
Włodek
coś nie tak. Jak zmienie zapytanie na:

  1. <?php
  2. $sql "select DATE(data),....,....
  3. from tabela";
  4. ?>


to wywala mi błąd:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in i nr linii


a po staremu działa, tylko wyświetla datę i czas a ja chcę samą datę.
skowron-line
po chamsku mozesz uzyc exploda i podzielic wynik i wyswietlic sobie tylko date biggrin.gif
Włodek
Może napiszę inaczej. Ja się dopiero uczę i nie każdą Waszą wypowiedź potrafię prawidłowo zinterpretować.
babejsza
Pokaż dokładnie jaki kod masz.
Włodek
  1. <?php
  2. $sql "select data,temat,tresc
  3. from tabela";
  4.  
  5. $wynik = mysql_query($sql);
  6.  
  7. echo "<div>";
  8. while ($wiersz = mysql_fetch_array($wynik))
  9. {
  10. $data = $wiersz["data"];
  11. $temat = $wiersz["temat"];
  12. $tresc = $wiersz["tresc"];
  13.  
  14. echo "$data";
  15. echo "<br />";
  16. echo "$temat";
  17. echo "<br />";
  18. echo "$tresc";
  19. }
  20. echo "</div>";
  21. ?>
skowron-line
explode

data jaka ci zwraca to jesli dobrze pamietam jest rrrr-mm-dd gg-mm-ss

no i dalej looknij sobie na przyklady z linka

edit a w 7 i 20 linie nie zwraca ci bledu?questionmark.gif
babejsza
A po co zatrudniać parser do czegoś co można wydobyć bezpośrednio z bazy?

Zrób tak:

  1. <?php
  2. $sql "select DATE(data) AS nowa_data ,temat,tresc FROM tabela";
  3.  
  4. $wynik = mysql_query($sql);
  5. while ($wiersz = mysql_fetch_array($wynik))
  6. {
  7.  echo $wiersz['nowa_data'];
  8. }
  9. ?>


I daj znać jeżeli wyrzuci Ci komunikat o błędzie.
Włodek
Explode - działa
DATE(data) - nie działa

Mam pytanie. Czy jak zastosuje Explode to będzie źle pomimo, że wyświetla to co chcę?
babejsza
Nie tyle źle co mało optymalnie. Skoro baza może załatwić pewne sprawy to niech to zrobi.

Bardzo dziwne, że nie działa Ci to co napisałem. Spróbuj zamiast DATE(data) AS nowa_data zrobić LEFT(data, 0, 10) AS nowa_data.

Poza tym miałeś napisać dlaczego nie działa, czyli jaki komunikat zwraca Ci baza.
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.