Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mySQL] data+godzina
Forum PHP.pl > Forum > Bazy danych > MySQL
shpyo
wlasnie pisze system ogloszen i pojawil sie problem z data.
Otoz chce wyswietli date i godzine o ktorej ogloszenie zostalo dodane.
W mySQL jest typ pola DATE, ale on tylko zapisuje date.

Co z robic z godzina?
przeciez time(); nie bede uzywal bo to nie to.
Utworzyc kolejna kolumne w tabeli i zamieniac czas na sekundy (nie bedzie problemu przy sortowaniu) a potem przy wyswietlania "cofac" owy proces?

A moze jest jakis inny sprytniejszy sposob?

za odp dziekuje,
Piotrek
tumczasty
są też inne typy "dato-czasowe" smile.gif
(time() też można używać - i dla daty, i dla godziny jednocześnie)
mhs
mozesz wykorzystac TIMESTAMP(14)
MarcinZ
Możan także skorzystać z funkcji timestamp(), która ma w sobie i date i czas zarazem i podczas dodawania w zapytaniu użyć opcji NOW()

aby później wyświetlić to jak tak by miało rence i nogii można wykonać taki mały skrypcik...

Kod
[php]
$data = substr($zapytanie_data["czas"], 0, 4). '-'.
                      substr($zapytanie_data["czas"], 4, 2). '-'.
                      substr($zapytanie_data["czas"], 6, 2). ' '.
                      substr($zapytanie_data["czas"], 8, 2). ':'.
                      substr($zapytanie_data["czas"], 10, 2);
[/php]


i to w ładny sposób nam wyswietli czas i date dodania ogłoszenia... Rkingsmiley.png
shpyo
dzieki wszystkim za odpowiedzi, skorzystam z typu kolumny "DATETIME" - nie bedzie pozniej problemu .

Ale tez bede musial nauczyc sie korzystac z manuali na mysql.com - bo jeszcze nie mialem okazji tam zagladac i posiedziec dluzej niz 30sek ^^.
DeyV
a czasem jeszcze lepiej jest pobrać sobie manual, najlepiej w wersji chm, i pracowac na nim w domku...
Vertical
przy dodawaniu w MySQL-u tabeli możesz tam wpisać:
  1. CREATE TABLE tabela (
  2. DATA DATETIME
  3. (...))

Przy tworzeniu typ DATETIME zapisuje datę w formacie rrrr-mm-dd hh-mm-ss
Ale kiedy dodajesz dane w php, możesz zawsze zrobić taki trick:
  1. <?php
  2.  
  3. $sql= &#092;"INSERT INTO tabela VALUES(NOW(), (...))\";
  4.  
  5. ?>

Funkcja NOW() w mysql-u zwraca aktualną datę i czas, więc nie musisz się męczyć z funkcją date
shpyo
a jak chce odjac czas to pisze NOW()-60*60 ? (w przypadku 24 godzin) ?
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.