Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP Count Site View erstellt jeden Tag eine Zeile

Ja, ehrlich gesagt, dieser Code ist genau das Gegenteil eines richtigen.

Da Sie anscheinend gerade erst mit dem Erlernen von Datenbanken begonnen haben, würde ich Ihnen dringend empfehlen, den grundlegendsten Weg zu gehen, bei dem jeder Treffer gespeichert wird. Dadurch wird Ihr Code erheblich kürzer und Sie können grundlegende Datenbankfunktionen erlernen.

Machen Sie Ihre Tabelle also wie

dt datetime,
ip varchar(15),

und dann bei jedem Treffer eine Abfrage wie diese ausführen

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

und um die Zählung zu erhalten, müssen Sie diesen Code ausführen

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

Diese letzte Abfrage ist am wichtigsten:Wie Sie sehen, kann eine Datenbank für Sie zählen (sowie summieren, Durchschnittswerte zählen oder andere Berechnungen durchführen). Sie sollten also niemals Berechnungen auf der PHP-Seite durchführen, sondern immer das Endergebnis von der Datenbank anfordern.

Mit diesem Datenbank-Setup können Sie Ihren täglichen Traffic abrufen, indem Sie die Ergebnisse einfach auf diese Weise gruppieren:

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

Und kann sogar neue Besucher gewinnen.