Autor Zpráva
Rellik
Profil
Zdravím,
potřeboval bych poradit. Mám tabulku "datum", do které je ukládáno datum v pořadí 25.6.2011 a potřeboval bych výpis udělat tak, aby se to řadilo od aktuálního datumu.
Např: bude 6 měsíc a potřebuju aby se zobrazily údaje z tohoto měsíce v pořadí od začátku měsíce do konce (případně když už bude třeba 12.6 tak od tohoto datumu dál. ( 13.6, 14.6 ....) A za tím vším aby byl zbytek měsíců 7,8,9,10,11,12... další rok.
Jde to nějak jednoduše?? Zkoušel sem to pomocí "order by datum desc" ale to seřadí podle prvního čísla. zkoušel sem hledat i tady na fóru ale bez výsledku :(
Díky za každou radu...
Kry5
Profil
Pokud ti to řadí takto špatně tak máš špatný datový typ v tabulce kam to ukládáš. Pravděpodobně má tvůj sloupec typ varchar nebo char. Dej mu date (datetime), pak už bude řazení probíhat v pořádku.
Tori
Profil
Rellik:
zkoušel sem hledat i tady na fóru ale bez výsledku
MySQL FAQ popisuje přesně váš problém.
Rellik
Profil
Kry5:
Dej mu date (datetime), pak už bude řazení probíhat v pořádku.
Jo díky to mě nenapadlo. já to původně ukládal celé odděleně. Jinak DATETIME vypisuje navíc čas, který neexistuje (00.00.00) tak sem dal jen DATE to už by bylo v pohodě, ale nicméně to přepsalo ty datumy z např 3.6.2011 na 2003-06-20. To to sem překódoval při zápisu aby bylo 2011.03.06, ale teď si lámu hlavu nad tím jak z toho zase udělat formát času 3.6.2011. Du dumat a zkoumat manuál, pokud na to nepřídu tak se ozvu. Zatím díky.
Rellik
Profil
No tak ten formát času už sem vyřešil...
$vypis =  mysql_query("SELECT *, extract(day from datum)  as 'den', extract(month from datum)  as 'mesic', extract(year from datum)  as 'rok' FROM kalendar order by datum desc limit ".$od.",10");


Ještě kdyby to tak zobrazovalo od aktuálního měsíce, bylo by to supr, ale to už snad nějak splácám...
Takže díky..
Tori
Profil
Rellik:
K formátu data - koukněte na Formát data při výpisu z MySQL. Podle aktuálního měsíce - možná pomůže funkce MONTH?

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