Autor | Zpráva | ||
---|---|---|---|
Kubas Profil * |
#1 · Zasláno: 13. 12. 2011, 22:24:07
Zdravím,
mám script na vypsání poznámky z databáze $querye = "SELECT * FROM poznamky ORDER BY ID ASC"; $resulte = mysql_query($querye) or die("Dotaz nelze provést: " . mysql_error()); //Cyklus vypisu while ($polee = mysql_fetch_array($resulte, MYSQL_ASSOC)) { echo ''.$polee['poznamka'].''; } Tento script mi vypíše poznámku z tabulky poznámky podle aktuálního loginu (login je uložený v session). V databázi mám časový údaj DoKdy. O co de: V databázi mám 3 sloupečky -> ID, poznamka a DoKdy. Jakým způsobem mám poznámky roztřídit aby se mi zobrazovaly jenom do určitého data a zároveň se třídily podle ID? DoKdy je ve formátu - date('d.n.Y H:i:s')
Napadlo mě to nějak porovnávat s aktuálním datem že datumvDB < aktuální datum, nicméně netuším jak to mám zapsat do té podmínky. Děkuji za reakce Kubas |
||
Someone Profil |
#2 · Zasláno: 13. 12. 2011, 23:29:10 · Upravil/a: Someone
SELECT * FROM poznamky WHERE dokdy>='".date('d.n.Y H:i:s')."' ORDER BY ID ASC |
||
Kubas Profil * |
#3 · Zasláno: 14. 12. 2011, 00:03:34
Děkuji, je to ono.
|
||
Časová prodleva: 21 dní
|
|||
Kubas Profil * |
#4 · Zasláno: 3. 1. 2012, 21:13:37
Zdravím, mám k tomuto ještě jeden dotaz.
Do konce roku 2011 mi to vypisovalo normálně podle podmínky, že se má zobrazit pouze to, které je menší nebo rovno datu. V roce 2012 však se mi však údaje začaly zobrazovat aj údaje z roku 2011 (ty co se mi podle podmínky už neměly zobrazit..). Jak tento problém vyřešit? Zkoušel jsem zaměnit date('d.n.Y H:i:s') za date('d.m.Y H:i:s'), to však nepomohlo. Děkuji za reakce |
||
Tori Profil |
#5 · Zasláno: 3. 1. 2012, 21:30:28
Kubas:
Porovnává to jako řetězce, a když je máte uložené jako den-měsíc rok, tak logicky "2.1.1900" bude větší než "1.12.9999". Od toho má MySQL typy DATE, TIME, DATETIME, a TIMESTAMP - ten DATETIME bude asi to pravé. Přidejte si do tabulky sloupeček typu DATETIME. Pak do něj uložte ty časy ve správném formátu - buď si napište skript, který projde celou tabulku řádek po řádku, u každého vytáhne id a ten čas, převede čas na formát "YYYY-MM-DD HH:MM:SS" a updatuje řádek, anebo by to šlo SQL funkcí STR_TO_DATE. Když to bude v pořádku, můžete starý sloupeček smazat a nový přejmenovat. |
||
Peet Profil |
#6 · Zasláno: 5. 1. 2012, 08:21:31
Dobrý den, mám uplně stejný problém.
a datum ukládám jako řetězec proto že DATETIME se mi zda trosku zmatený a neumím s ním pracovat, nikdy jsem ho nepoužíval, ale nyní soudím, že by to pro mne asi byla vhodnější a jednoduší varianta, ale nevím jak mám nastavit DATETIME aby se uložil (dd.mm.rrrr) v jakém formátu se vlastně ukládá a jak sním poté mohu pracovat..? |
||
panther Profil |
#7 · Zasláno: 5. 1. 2012, 09:17:50
Peet:
„v jakém formátu se vlastně ukládá“ http://dev.mysql.com/doc/refman/5.1/en/datetime.html „jak sním poté mohu pracovat..?“ date_format v MySQL nebo date_format/date v PHP. |
||
Časová prodleva: 12 let
|
0