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

PHP e MySQL il modo migliore per contare le visualizzazioni di pagina per le pagine dinamiche

Di solito la struttura della tabella si presenta così:

pagine della tabella:

id | name            | ... 
==========================
1    Some Page
2    Some Other Page

pagine_visualizzazioni della tabella:

page_id | views
================
1         1234
2         80

dove pages_views ha un indice univoco su page_id

L'istruzione MySQL per incrementare le visualizzazioni appare quindi come segue:

INSERT INTO `pages_views` SET views=1 WHERE page_id=?
    ON DUPLICATE KEY UPDATE views=views+1 ;

Da pages_views.page_id è unico, la riga per la pagina verrà creata se non esiste; se esiste (questa è la clausola "chiave duplicata"), il contatore verrà incrementato.

Ho scelto due tabelle separate qui, poiché le pagine CMS di solito non vengono aggiornate troppo spesso (e quindi il loro carico è principalmente di letture), mentre le visualizzazioni di pagina vengono lette e aggiornate, beh, ad ogni visualizzazione di pagina.