Autor Zpráva
Tsm
Profil *
Zdravím,
mám v mysql přibližnou tabulku:
datum_1, (date)
opakovat_1, (int 1/0)
datum_2
opakovat_2,
datum_3,
opakovat_3,
datum_4,
opakovat_4

datum_1 - datum_4 může a nemusí být vyplněno a opakovat_1 - opakovat_4 je každoroční opakování datumu (1 = ano, 2 = ne).

Napdá Vás, jak toto elegantně vyřešit přímo v SQL? nechci podmínku dávat přímo do while cyklu (i když asi nic jiného nezbude).

BTW: Občas Vám při odeslání příspěvku zamrzne button a musím zmáčknout F5.

Děkuji
ts_istudio
Profil
Na správné řešení - vytvoření extra tabulky pro (data a opakování) už je pozdě? Už v tom máš ostrá data?

tabulka udalosti:
ID, nazev_udalosti, ....

tabulka opakovani:
ID, IDudalosti, datum, opakovat
Tori
Profil
Tsm:
<ot>
Občas Vám při odeslání příspěvku zamrzne button a musím zmáčknout F5.
Mně se to stává poměrně často, ale přičítám to zlobivému připojení, JS prostě čeká na odezvu ze serveru trochu déle.
</ot>
Tsm
Profil *
ts_istudio:
Díky, ostrá data tam nejsou nicméně další tabulku použít nechci. Hold vyberu všechna data a použiju podmínku v cyklu.


Tori:
Mě občas, ale stačí F5. Trochu to mate, ale na to jak je to tu zmáklý je to prkotina...
Majkl578
Profil
Tsm:
nicméně další tabulku použít nechci
Existuje nějaký rozumný důvod, proč to děláš úmyslně špatně?

Co se dotazu týče, ačkoliv jsi neuvedl tvůj cíl, pro výběr aktuálních by nejspíš šlo zhruba něco takového, otázkou je, jak rychlé (pomalé) to bude:
WHERE (DAY(datum_1) = DAY(NOW()) AND MONTH(datum_1) = MONTH(NOW()) AND (opakovat_1 = 1 OR YEAR(datum_1) = YEAR(NOW()))
  OR <totéž co výše pro každé další datum>

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