Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] pobieranie bierzącej daty
Forum PHP.pl > Forum > Przedszkole
lamcpp
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?
maxil
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?
lamcpp
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ł?
jasin
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).
lamcpp
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.
jasin
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
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.