sql >> Base de Datos >  >> RDS >> Mysql

Vista del sitio PHP Count creando una fila todos los días

Sí, francamente, este código es justo lo opuesto a uno correcto.

Como aparentemente acaba de comenzar a aprender bases de datos, le sugiero encarecidamente que siga la forma más básica, que almacenará cada hit. Hará que su código sea mucho más corto y le permitirá aprender las funciones básicas de la base de datos.

Así que haz tu mesa como

dt datetime,
ip varchar(15),

y luego, en cada visita, ejecute una consulta como esta

$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);

y para obtener el conteo tendrás que ejecutar este código

$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();

Esta última consulta es la más importante:como puede ver, una base de datos puede contar (así como sumar, contar promedios o hacer cualquier otro cálculo) por usted. Por lo tanto, nunca debe hacer ningún cálculo en el lado de PHP, pero siempre solicite el resultado final de la base de datos.

Con esta configuración de base de datos podrá obtener su tráfico diario, simplemente agrupando los resultados de esta manera:

$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();

E incluso puede obtener nuevos visitantes también.