sql >> Database >  >> RDS >> Mysql

PHP Tel siteweergave elke dag een rij maken

Ja, eerlijk gezegd is deze code precies het tegenovergestelde van de juiste.

Aangezien je blijkbaar net begonnen bent met het leren van databases, raad ik je ten zeerste aan om de meest basale manier te volgen, waarbij elke hit wordt opgeslagen. Het maakt je code aanzienlijk korter en laat je de basisfuncties van de database leren.

Dus maak je tafel als

dt datetime,
ip varchar(15),

en voer dan bij elke treffer een zoekopdracht uit zoals deze

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

en om de telling te krijgen, moet je deze code uitvoeren

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

Deze laatste vraag is het belangrijkst:zoals u kunt zien, kan een database voor u tellen (evenals optellen, gemiddelden tellen of andere berekeningen doen). Je moet dus nooit berekeningen aan de PHP-kant doen, maar altijd het eindresultaat opvragen uit de database.

Met deze database-setup kunt u uw dagelijkse verkeer ontvangen door de resultaten eenvoudig op deze manier te groeperen:

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

En kan zelfs nieuwe bezoekers krijgen.




  1. Maximale uitvoeringstijd instellen in MYSQL / PHP

  2. Hoe kan ik executemany gebruiken om een ​​lijst met woordenboeken in Python in MySQL in te voegen?

  3. Hoe kan ik dezelfde query uitvoeren op alle databases op een instantie?

  4. Een cursor declareren na het begingedeelte van een Oracle PL/SQL-procedure