Oui, franchement, ce code est juste en face d'un code correct.
Comme vous venez apparemment de commencer à apprendre les bases de données, je vous suggère fortement de suivre la méthode la plus élémentaire, qui consiste à stocker chaque hit. Cela raccourcira considérablement votre code et vous permettra d'apprendre les fonctions de base de la base de données.
Alors faites votre table comme
dt datetime,
ip varchar(15),
puis à chaque hit, exécutez une requête comme celle-ci
$stmt = $DB_CON->prepare("INSERT INTO stats VALUES (NOW(),?)");
$stmt->execute([$_SERVER['REMOTE_ADDR']]);
et pour obtenir le décompte, vous devrez exécuter ce code
$count = $DB_CON->query("SELECT count(*) FROM stats")->fetchColumn();
Cette dernière requête est la plus importante :comme vous pouvez le voir, une base de données peut compter (ainsi que sommer, compter des moyennes ou faire tout autre calcul) pour vous. Donc, vous ne devriez jamais faire de calculs côté PHP, mais toujours demander le résultat final à partir de la base de données.
Avec cette configuration de base de données, vous pourrez obtenir votre trafic quotidien, en regroupant simplement les résultats de cette façon :
$daily = $DB_CON->query("SELECT count(*), date(dt) FROM stats GROUP BY date(dt)")->fetchAll();
Et peut même attirer de nouveaux visiteurs.