Fórum Root.cz
Hlavní témata => Server => Téma založeno: Pavellll 09. 10. 2016, 19:19:30
-
Ahoj, potřebuji pomoct. Chtěl bych udělat to, že se nějaké číslo v MySQL databázi resetuje každý den na 0. Nevíte, jak na to ? Děkuji
-
Nejlépe tak, že nám povíš, k čemu to potřebuješ a my ti to rozmluvíme.
-
Dáš do cronu PHP skript, který se k DB připojí a udělá UPDATE.
-
Tady prikladam ukazku kodu z jednoho projektu ktery mam na Drupalu. Funkce variable_set() a variable_get() si nahrad necim jinym - uloz/nacti tu hodnotu ze souboru, z db, odkud chces..
function HOOK_cron() {
if (variable_get('HOOK_cron_last') == date(DATE_FORMAT_DATE)) {
return;
}
// tady si udelas reset pocitadla
variable_set('HOOK_cron_last', date(DATE_FORMAT_DATE));
}
Pokud ukazku nedokazes prevest do sveho kodu tak to vzdej a venuj se nejaky humanitni sracce.
-
man mysql
man cron
man crontab
man 5 crontab
crontab -e
#min hr day month dow cmd
0 0 * * * echo "UPDATE foo SET bar=0 WHERE whatever" | mysql dbname
-
Takéto niečo zvládne samotný mysql server, viac o tom je na https://dev.mysql.com/doc/refman/5.6/en/events-overview.html (https://dev.mysql.com/doc/refman/5.6/en/events-overview.html). Samozrejme musí byť mysql server nakonfigurovaný s podporou event shedulera.
-
man mysql
man cron
man crontab
man 5 crontab
crontab -e
#min hr day month dow cmd
0 0 * * * echo "UPDATE foo SET bar=0 WHERE whatever" | mysql dbname
aneb naseduluj si to v kronu!