sql >> Database teknologi >  >> RDS >> Mysql

PHP Count site view skaber en række hver dag

Ja, helt ærligt, denne kode er lige modsat en korrekt.

Da du tilsyneladende lige er begyndt at lære databaser, vil jeg kraftigt anbefale dig at gå den mest grundlæggende vej, som vil være at gemme hvert eneste hit. Det vil gøre din kode dramatisk kortere og giver dig mulighed for at lære grundlæggende databasefunktioner.

Så lav dit bord som

dt datetime,
ip varchar(15),

og kør så en forespørgsel som denne ved hvert hit

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

og for at få optællingen skal du køre denne kode

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

Denne sidste forespørgsel er vigtigst:Som du kan se, kan en database tælle (såvel som summen, tælle gennemsnit eller gøre hvad som helst andet beregninger) for dig. Så du bør aldrig foretage nogen beregninger på PHP-siden, men altid anmode om det endelige resultat fra databasen.

Med denne databaseopsætning vil du være i stand til at få din daglige trafik ved blot at gruppere resultater på denne måde:

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

Og kan endda også få nye besøgende.




  1. Hvordan kan jeg få en jævn fordeling ved hjælp af WHERE id IN(1,2,3,4)

  2. Hvordan kan jeg finde den underliggende kolonne og tabelnavn for en Oracle-visning?

  3. er påstande om, at Oracle er svære at administrere på simple opgaver korrekte? er der ikke kvalitets admin apps til det?

  4. Gap-less sekvens, hvor flere transaktioner med flere tabeller er involveret