Autor Zpráva
BunnyBugs
Profil *
Zdravím,
mám v databázi MySQL vytvořený sloupec (mimo jiné) z datem vložení. Jak mám automaticky vygenerovat odkazy dle jednotlivých roků?
Jde o to, abych nemusel na každý rok ručně vytvářet odkaz. Vím, že to lze, ale nějak jsem nepřišel na to, jakým způsobem.
Děkuji mockrát za nakopnutí.
jzikes
Profil *
Zdravím,
úplně nerozumím dotazu.. Vypisuješ nějakým cyklem data z db a podle data vložení jim přiřadit odkaz?
-jz
BunnyBugs
Profil *
Ano, aby to vypadalo asi takhle:
....clanky2014, ....clanky2013, atd.

A jednotlivé odkazy se vždy vygenerovaly automaticky dle roků, které v DB existují.
jzikes
Profil *
Jestli jsem to teda dobře pochopil, tak bych do toho cyklu jen přidal:
while ($vypis = MySQL_Fetch_Array($query)) {
echo '<a href="xxx'.$vypis['Datum'].'">text odkazu..</a>';
}
-jz
BunnyBugs
Profil *
Aha, tak tohle vím, asi jsem položil otázku špatně.
Jak tedy dostanu do proměnné $query při výpisu z DB počet řádků dle roků? Jinak řečeno, když budu mít třeba 10 záznamů z roku 2010, 20 záznamů z roku 2011, tak aby mi to vypsal jen dva řádky? Jak by měl takový dotaz vypadat?
jzikes
Profil *
Možná by to šlo udělat pomocí funkce GROUP BY..
BunnyBugs
Profil *
Jojo, to mne napadlo a zkoušel jsem to, ale datum mám uložen v DB v plném formátu a nevím, jak do SELECTu dostat pouze rok :(
jzikes
Profil *
No jestli máš date ve formátu třeba yyyy-mm-dd, tak použij EXPLODE se znakem '-' a pak jenom vlož pole[0].
BunnyBugs
Profil *
Tak jsem to vyřešil asi nějak takhle:

SELECT DATE_FORMAT(datum, '%Y') as rok, count(*) pocet FROM table GROUP  BY rok

Snad je to tak dobře.
Kcko
Profil
Group by YEAR(datum)
BunnyBugs
Profil *
Takhle mi to funguje, super, díky za nakopnutí.
Mám ale ještě jeden dotaz. Jak by měl SELECT vypadat, kdybych to chtěl seskupit v jiném časovém období, než je kalendářní rok? Třeba od 1.9.2014 do 30.4.2015 a takhle každý rok? Jedná se totiž o sezónu, která je v tomto časovém úseku.
mimochodec
Profil
Nejjednodušší bude pro informaci o sezóně udělat další sloupec.
BunnyBugs
Profil *
jj, takhle jsem to vyřešil, díky moc.

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