Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] pobieranie bierzącej daty
lamcpp
post 4.12.2009, 13:42:42
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


Problem: stworzenie pola w bazie danych, które będzie przechowywało datę utworzenia rekordu w celu jego pozniejszego sortowania po dacie.
Jak pobieracie aktualną datę w php? za pomocą funkcji now()? I w jaki sposób przechowujecie ją w bazie danych, jaki typ pola?
Go to the top of the page
+Quote Post
nospor
post 4.12.2009, 13:44:43
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://www.php.net/manual/pl/ref.datetime.php
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
http://dev.mysql.com/doc/refman/5.0/en/dat...time-types.html

czy naprawdę cieżko tam zajrzec?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
maxil
post 4.12.2009, 13:56:27
Post #3





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


pobieranie daty:
  1. [url="http://www.php.net/date"]date[/url]("Y-m-d");

i komórka:
  1. `nazwa` date NOT NULL DEFAULT '0000-00-00'

godzina:

  1. [url="http://www.php.net/date"]date[/url]("H:i:s");


i komórka

  1. `nazwa` time NOT NULL DEFAULT '00:00:00'

można to jeszcze zrobić tak:

  1. `nazwa` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP


o to Ci chodziło?

Ten post edytował maxil 4.12.2009, 14:09:50
Go to the top of the page
+Quote Post
lamcpp
post 4.12.2009, 17:31:39
Post #4





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


Tak,
ale teraz jest trochę inny problem, już z samym sortowaniem, na razie po nazwie.
Wykonuje zapytanie:
  1. SELECT * FROM zdjecie ORDER BY zdjecie.nazwa ASC;

I sortuje się alfabetycznie od a do z, tylko jest jeden problem, mianowicie jesli nie mam wpisanej nazwy to ta pozycja jest na samej górze. Jak można ją przenieść na sam dół? próbowałem dodawać NULL ale to nie przyniosło rezultatu, cały czas pozycja bez nazwy jest na górze,
a dodam że muszę to posortować rosnąco, czyli od A do Z ale chciałbym by pozycje, które nie mają nazwy znalazły się na samym koncu.
Ktoś ma jakiś pomysł?
Go to the top of the page
+Quote Post
jasin
post 4.12.2009, 17:55:16
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


A zadziała:
  1. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NOT NULL ORDER BY zdjecie.nazwa ASC;
  2. UNION
  3. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NULL;

?

Nie wiem czy czasem w miejsce * nie będziesz musiał wstawić pól, które chcesz pobrać (ilości muszą się zgadzać w obu selectach).


--------------------
Go to the top of the page
+Quote Post
lamcpp
post 4.12.2009, 18:09:34
Post #6





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


coś nie działa,
próbowałem najpierw w heidiSQL wykonać zapytanie i wyskoczył mi komunikat, że coś jest złego w "
WHERE zdjecie.nazwa IS NULL;"
Dodam że dalem po 3 parametry przy obu selektach.
Go to the top of the page
+Quote Post
jasin
post 4.12.2009, 19:45:27
Post #7





Grupa: Zarejestrowani
Postów: 142
Pomógł: 32
Dołączył: 21.08.2008
Skąd: Toruń

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


Głupi błąd, zamiast
  1. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NOT NULL ORDER BY zdjecie.nazwa ASC;
  2. UNION
  3. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NULL;

daj
  1. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NOT NULL ORDER BY zdjecie.nazwa ASC
  2. UNION
  3. SELECT * FROM zdjecie WHERE zdjecie.nazwa IS NULL


--------------------
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: 14.07.2025 - 04:12