Cita: hay algo que no me queda muy claro: eso se debe a php o a mysql ??? he visto que sql server tiene un JOB, pero no se si mysql... si es así y saben cómo hacerlo funcionar por favor díganme!!!!!
En Mysql no hay "store procedure" ni "triggers" para ejecutar esas consultas SQL que necesitas hacer en tu caso particular a intervalo de tiempos.
Cita: "señor administrador del server... sería tan amable programar una tarea en la pc que alberga mi sitio para que cada dos horas el navegador x abra http://mipagina.com/elscriptdeseado.php???"
Un servicio de hosting "como debe ser" te ofrece un panel de control con posibilidad de crear tus própios "Cron Job" (si hablamos de Linux) ... Pero eso es otro tema ..
El hecho de usar un cron Job (o programador de taréas) no es más que por optimizción y exactitud de las taréas que ejecutas en el intervalo de tiempo que necesites y NO depender de que tu sitio tenga una visita en esa fecha/hora concreta que necesitas (a partir de esa hora) iniciar X proceso y con el consiguiente control que debes llevar de cuando se ejecutó para que si entra otro usuario NO se ejecute nuevamente tu "taréa" ..
Por ende .. Para hacer tu "taréa programada" SIN generar uno de estos "cron Job" (que para eso se inventaron y son própios del S.O. del servidor y no de un lenguaje/aplicación concreto ..) tienes que colocar tu script que hará tus sentencias SQL correspondientes en la página que más visita tenga tu sitio (index? ..)
A continuación tu script en concreto debe hacer:
1) Verificar la hora actual que se pide la página (cuando se ejecuta) y saber si está en el rango que debe ejecutarse (de horas).
Para eso puedes usar PHP y sus funciones de fechas: date() .. mktime() y operar con esas fechas (hacer restas en segundos que dá una fecha en formato TIMESTAMP por ejemplo).
2) Si corresponde ejecutar tu rutina "SQL" .. la ejecutas, pero, antes tendras que guardarte en algún sitio (una base de datos, un archivo de texto plano .. etc) que .. el proceso se inició en tal fecha/hora para que puedas verificar en el punto 1 ademas de la fecha actual que es .. si el proceso Ya se inició en el rango de fechas que establezca tu intervalo de tiempo de ejecuciones .. Por qué sino, otro usuario que entre en ese intervalo de tiempo .. no vuelva a lanzarse la ejecución de tu script.
(seguro que de todo esto ya está hecho en
www.hotscripts.com o en sitios como
www.phpclasses.org .. O mejor todavía . .Mira el código de esa aplicación que comentas .. Seguramente lo hace de la manera que comento o bien hace consultas SQL por fechas y rangos para realizar esas acciones que mencionas o bien combina ambos métodos)
Un saludo,