Estoy haciendo para mi comunidad de Counter-Strike un sistema de administradores en una base de datos, que desde un panel puedo agregar, suspender y quitar administradores y automáticamente en los servidores tiene efecto.
Con suerte logré hacer el panel, siendo que mis conocimientos con MySQL y PHP al principio eran nulos, pero quedó tan bien que quedé sorprendido
Hasta ahora, todo funciona excelente. Lo único que faltaría es hacer que detecte el vencimiento del usuario y lo elimine de la tabla, y además modificar un valor de otra base de datos (que sería el foro de la comunidad), pero siendo sincero mis conocimientos acá no llegan, ya que empecé con esto hace un poco más de dos semanas.
La idea en un principio era hacer mediante EVENTS que los quite a los administradores y las suspensiones por ahí, pero da justamente que el servidor en donde estamos alojados no admite esta funcionalidad, por lo que no nos queda otra que utilizar CRON JOBS, ejecutando un PHP para que esto pueda realizarse.
Necesito obtener los usuarios cuyo administrador se encuentra vencido:
Código SQL:
Ver original
SELECT * FROM basededatos.tabla1 WHERE DATE(vencimiento) <= DATE(NOW()); SELECT * FROM basededatos.tabla2 WHERE DATE(vencimiento) <= DATE(NOW()); SELECT * FROM basededatos.tabla3 WHERE DATE(vencimiento) <= DATE(NOW());
Luego, obtener de esa selección su correspondiente ID del foro, que se encuentra en una columna (si no me equivoco, podría pasarlo como variable).
Posteriormente, debo eliminar esas filas (administradores) y, a la vez, modificar el valor de la base de datos del foro (IPBoard):
Código SQL:
Ver original
UPDATE basedatosforo.members SET member_group_id = 9 WHERE member_id = '---ID DE LOS ADMINISTRADORES---'
Al principio había hecho algo parecido a esto:
Cita:
Funcionaba obteniendo de un SELECT anterior la cantidad de filas según administradores vencidos haya, y ejecutar lo que está dentro del for esa cantidad, pero a veces o quitaba uno de los administradores, o los quitaba todos pero no les modificaba su valor en el foro.Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las reglas del foro, pro favor.
Leer las reglas del foro, pro favor.
Perdón por haber sido tan extenso, y agradecería demasiado si me pudieran dar una mano. Esta es una muy buena comunidad y cuando me surgió este inconveniente no dudé ni un segundo en consultar acá.
Saludos y buenas tardes/noches.