Autor Zpráva
Kubas
Profil *
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
SELECT * FROM poznamky WHERE dokdy>='".date('d.n.Y H:i:s')."' ORDER BY ID ASC
Podmínku větší; rovno; menší; větší a rovno; menší a rovno si nastav podle sebe
Kubas
Profil *
Děkuji, je to ono.
Kubas
Profil *
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
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0