Autor | Zpráva | ||
---|---|---|---|
Easygoer Profil |
#1 · Zasláno: 25. 7. 2024, 23:34:05
Mám v MySQL tabulku upominky: CREATE TABLE IF NOT EXISTS `upominky` ( `id_upominky` int(5) NOT NULL AUTO_INCREMENT, `id_klienta` int(4) NOT NULL, `id_zaznamu` int(5) NOT NULL, `upominka` text COLLATE utf8_czech_ci NOT NULL, `datum_vlozeni` datetime NOT NULL, `datum_zobrazeni` datetime NOT NULL, `upozornit` int(3) NOT NULL, PRIMARY KEY (`id_upominky`), FULLTEXT KEY `zaznam` (`upominka`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; Každá upomínka má datum vložení, což je now() a pak datum zobrazení, které si návštěvník webu nastaví u každé upomínky individuálně. Tzn. např. za týden, za 14 dní, za měsíc atd. Výsledkem je opět datum ve formátu MySQL. Další volitelnou položkou je "upozornit", kde si může nastavit, kolik dní před datumem zobrazení se daná upomínka začne skutečně zobrazovat. Takže nastaví třeba za týden - 1 den. Tohle funguje: select * from upominky where subdate(datum_zobrazeni, interval "1" day) <= current_date Číslovku "1" bych ale chtěl nahradit hodnotou ve sloupci upozornit, která je samozřejmě pro každý řádek jiná. Tohle nefunguje: select * from upominky where subdate(datum_zobrazeni, interval "(select upozornit from upominky)" day) <= current_date Poradíte, jak na to? |
||
Kajman Profil |
#2 · Zasláno: 26. 7. 2024, 01:17:22
interval upozornit day
Ale bude to pomalé. Proč i tento sloupec nemáte v datetime? |
||
Easygoer Profil |
#3 · Zasláno: 26. 7. 2024, 12:44:02
Kajman:
Díky moc! Domníval jsem se, že než datetime je jednodušší sloupec integer (3). |
||
Časová prodleva: 1 měsíc
|
0