Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z datami w mysqlu
Forum PHP.pl > Forum > Bazy danych > MySQL
budda1989
Hejka, z takim czymś się jeszcze nie spotkałem.
Posiadam tabelkę w której pole data_dodania to TIMESTAMP a wartość domyślna CURRENT_TIMESTAMP
Mój problem polega na tym, że mysql losuje sobie chyba godzinę albo ja zaczynam fixować.

Wiersze dodane później potrafią mieć wcześniejszą datę dodania niż następne.

Problematyczność całej sytuacji polega na tym, że usługa na jednym z moich serwisów jest oparta o to pole. Użytkownicy "podbijają" swoje informacje aby znalazły się wyżej, a ostatnio podbita informacja winna się znaleźć na górze. W rzeczywistości - o zgrozo - czasami ląduje nie na samej górze a na 2/3/5... miejscu.


Dodatkowo w mojej bazie są zawsze 2 godziny wcześniej ( lub coś koło tego ) niż na kompie.

uprzejmie proszę o pomoc, zazwyczaj sam radzę sobie z problemami ale nie mogę nic wygooglować, albo źle szukam.
trueblue
Pokaż schemat tabeli:
DESC tabela;
budda1989
  1. FIELD Type NULL KEY DEFAULT Extra
  2. id_serwery int(11) NO PRI NULL AUTO_INCREMENT
  3. nazwa varchar(60) YES NULL
  4. opis text YES NULL
  5. adres varchar(255) NO NULL
  6. port varchar(30) NO 25565
  7. ipnumeryczne varchar(30) YES NULL
  8. url varchar(255) YES NULL
  9. email varchar(255) YES NULL
  10. ilosc_diaxow int(11) NO 0
  11. plusy int(11) NO 0
  12. minusy int(11) NO 0
  13. serwer_online smallint(1) YES NULL
  14. online_odznaczenie smallint(1) NO 0
  15. online_od timestamp YES NULL
  16. ostatnio_online varchar(20) YES NULL
  17. version varchar(255) YES NULL
  18. version_odznaczenie smallint(1) NO 0
  19. serwer_name text YES NULL
  20. players_online int(11) YES NULL
  21. players_max int(11) YES NULL
  22. gametype varchar(100) YES NULL
  23. plugins text YES NULL
  24. map varchar(100) YES NULL
  25. hostip varchar(30) YES NULL
  26. software varchar(100) YES NULL
  27. players_list text YES NULL
  28. do_sprawdzenia smallint(1) NO 0
  29. sprawdzone smallint(2) NO 0
  30. favicon text YES NULL
  31. podbicie timestamp YES NULL
  32. data_aktualizacji timestamp YES NULL
  33. data_dodania timestamp NO CURRENT_TIMESTAMP
  34. duplikat smallint(1) NO 0
  35. potwierdzony smallint(1) NO 0
  36. STATUS smallint(1) NO 1


Mała poprawka względem 1 posta.
Chodzi mi o pole "podbicie".

Sprawdziłem też jeszcze 1 rzecz. Podbicie jest jednak przypisywane z kodu
$data = date("Y-m-d H:m:s");

i w takiej postaci trafia do bazy.
Pyton_000
Pole masz typu timestamp a przekazujesz sformatowaną datę.
Zamiast $data daj

$data = time();
nospor
Troche nie na temat, ale pola, ktorych wartosci będą 1 lub 0 lub cos w tych okolicach, to mają byc tinyint a nie smallint... Ucz sie pisać optymalnie.
budda1989
Super, dziękuję obu użytkownikom za cenne wskazówki na pewno się do nich zastosuję
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.