Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Visualização do site PHP Count criando uma linha todos os dias


Sim, francamente, este código é exatamente o oposto de um correto.

Como você aparentemente está apenas começando a aprender bancos de dados, eu sugiro fortemente que você siga o caminho mais básico, que será armazenar cada hit. Isso tornará seu código drasticamente mais curto e permitirá que você aprenda as funções básicas do banco de dados.

Então faça sua mesa como
dt datetime,
ip varchar(15),

e, em cada hit, execute uma consulta como esta
$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);

e para obter a contagem você terá que executar este código
$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();

Esta última consulta é a mais importante:como você pode ver, um banco de dados pode contar (assim como somar, contar médias ou fazer qualquer outro cálculo) para você. Portanto, você nunca deve fazer nenhum cálculo no lado do PHP, mas sempre solicitar o resultado final do banco de dados.

Com esta configuração de banco de dados você poderá obter seu tráfego diário, simplesmente agrupando os resultados desta forma:
$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();

E pode até receber novos visitantes também.