![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%)
|
Witam.
Pytanie może i banalne ale przejrzeniu manuala do mySql i php jestem trochę zagubiony. zrobiłem prosty formularz dodający pare danych do bazy. Chciałem dodać jeszcze pole w bazie, w którym zapisana będzie data dodania tekstu (tylko data - dzien-miesiac-rok). Czy w związku z tym ustawić dla tej kolumny tabeli rodzaj na DATE czy zostawić np VARCHAR? Której funcji php użyć do wyciągnięcia daty? date czy może time i zapisać w bazie te sekundy od 1970 r? Możecie coś poradzić żeby nie było żadnych problemów na linii php-mysql? |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%)
|
Pole w bazie powinno być typu DATE
Funkcja MySQL do daty obecnej: NOW() |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%)
|
Hmm... coś mi nie wyszło z tym NOW(). Chyba najłatwiej byłoby wykorzystać timestamp, czy jak to się nazywa. Chodzi mi o te sekundy od 1970 r. Czy obojętne jest w jakego typu polu bazy będę przechowywał timestamp? Chyba to rozwiązanie jest najbardziej elastyczne i pozwala na wyświetlanie daty w różnych formatach.
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%)
|
Czytaj proszę ze zrozumieniem to co mike napisał:
Cytat Pole w bazie powinno być typu DATE Będziesz miał w nim date w postaci np. 2006-06-16 Dalej przy dodawaniu tekstu, zapytanie możesz skonstruować tak:
Wtedy w "pole_data" zostanie wpisana bierząca data. Później aby wyciągnąć ją z bazy w dowolnym formacie użyj DATE_FORMAT:
Masz to co chciałeś(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 6.02.2004 Ostrzeżenie: (0%)
|
Odświeżę temat bo mam podobny problem.
Datę dodania wpisu do bazy chcę trzymać w postaci uniksowego znacznika czasu tak aby sobie wyciągać tą datę do rss'a. Ale gdy trzymamy datę w polu DATE i ma ona format y-m-d to chyba nie jest przechowywana w nim godzina. |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat Ale gdy trzymamy datę w polu DATE i ma ona format y-m-d to chyba nie jest przechowywana w nim godzina. Masz rację (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale jakie masz pytanie w związku z tym?Jak chcesz miec i godzine to zaloż pole typu DATETIME lub TIMESTAMP |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 6.02.2004 Ostrzeżenie: (0%)
|
Hmm no niby tak, ale timestamp to nie to samo co czas unixa.
Uparłem się na ten czas unixa, bo teraz mam daty w formacie d-m-y i mam już metodę jak je wszystkie pozamieniać. Chyba nie ma specjalnego datatypu dla czasu unixa więc pozostaje mi go trzymać pod tinytextem. Czy źle myślę? |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%)
|
Cytat Wtedy w "pole_data" zostanie wpisana bierząca data. Później aby wyciągnąć ją z bazy w dowolnym formacie użyj DATE_FORMAT:
Wszystko dziala. Mam jednak pytanie. Co zrobić, żeby oddzielnie wyciągnąć dzien, miesiac i rok, żeby każda ta rzecz była w innej zmiennej zapisana? Trzeba robić trzy zapytania np.
a potem drugie z zamienionym %e na %m? Moze da sie to w jednym zapytaniu zrobic? |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 1 Dołączył: 4.03.2003 Skąd: warszawa Ostrzeżenie: (0%)
|
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:19 |