Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP Преброяване на изглед на сайт, създаване на ред всеки ден

Да, честно казано, този код е точно противоположен на правилния.

Тъй като очевидно току-що сте започнали да изучавате бази данни, силно бих ви препоръчал да отидете по най-основния начин, който ще съхранява всяко попадение. Това ще направи вашия код значително по-кратък и ще ви позволи да научите основните функции на базата данни.

Затова направете таблицата си като

dt datetime,
ip varchar(15),

и след това при всяко попадение изпълнете заявка като тази

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

и за да получите броя, ще трябва да изпълните този код

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

Тази последна заявка е най-важна:както можете да видите, базата данни може да брои (както и да сумира, да брои средни стойности или да прави каквито и да било други изчисления) вместо вас. Така че никога не трябва да правите никакви изчисления от страна на PHP, но винаги изисквайте крайния резултат от базата данни.

С тази настройка на базата данни ще можете да получите ежедневния си трафик, като просто групирате резултатите по следния начин:

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

И дори може да привлече нови посетители.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групово вмъкване в MYSQL от XML файлове

  2. Метод за хеширане на парола Mysql стар срещу нов

  3. Как да отчета липсващите xPaths и да поддържам данните си еднакви, когато изстъргвам уебсайт с помощта на метода на заявка DOMXPath?

  4. Как да проверя дали колона е празна или нула в MySQL?

  5. Как мога да стартирам с [email protected] привилегии в MySQL?