Autor | Zpráva | ||
---|---|---|---|
Mikolášek Profil * |
#1 · Zasláno: 14. 2. 2013, 10:26:44
Nějak nemůžu z logiky přijít na to, jak udělat funkci IF. V mySQL mám uložené data od nějakého data až po součastnost, kdy přes script zjistím o jaké minimální (počáteční) datum se jedná. Potřeboval bych, když už budu v toce 2012, aby se mě vypsali jen ty měsíce, které v mySQL jsou. Naopak pro tento rok je to max řekněme do dnešního dne 14.2., tak že výpis musí být jen do tohoto února.
$rok = "2012"; // meni se dle SEO tj. /2012/, /2013/ apod. z $rok = $_GET["rok"]; $omezeni_roku = Date("Y", $prvni_den_archivu[0]); // pocatecni (minimalni) datum $aktualni_rok = Date("Y"); // aktualni rok // tento pouziti IF funguje .. zobrazi jen mesice ve kterych mam data, ale nevim jak tam pridat aktualni rok, aby to byl pak jen leden, unor ... dal ne. if ($m >= $omezeni_mesice AND $omezeni_roku == $rok) { // zde se vypisi mesice pro ktere jsou data v mySQL } |
||
juriad Profil |
A proč se nezeptáš rovnou databáze?
SELECT DISTINCT YEAR(datum), MONTH(datum) FROM tabulka ORDER BY 1, 2 |
||
Mikolášek Profil * |
#3 · Zasláno: 14. 2. 2013, 10:37:37
Dělám si výpis měsíců a dělám z toho menu. Proto.
$nazev_mesice = array(1 => 'leden', 'únor', 'březen', 'duben', 'květen', 'červen', 'červenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'); |
||
juriad Profil |
#4 · Zasláno: 14. 2. 2013, 10:49:35
Ten můj dotaz ti vrátí všechny roky a měsíce, které v databázi existují. Pokud chceš měsíce jen pro konkrétní rok, přidej si podmínku
WHERE YEAR(datum) = 20XY
Pro každý rok vypíšeš všechny měsíce z toho roku. (Přidal jsem ORDER BY, takže výpis lze provést jediným průchodem výsledku dotazu) Nebo dovnitř svého ifu přidej: if($rok == $aktualni_rok && $m <= Date("n")) { // výpis měsíce } |
||
Mikolášek Profil * |
#5 · Zasláno: 14. 2. 2013, 11:11:52
Moc děkuji za logickou podporu. Tvůj přidaný IF zabral a už to funguje jak má.
|
||
Časová prodleva: 11 let
|
0