Mettere nel sito "I più visti"

mariosantella.com

Nuovo Utente
8 Mar 2014
24
1
3
Siccome nel mio sito ho molte pagine, vorrei mettere un'area con un codice del tipo che mi visualizza in automatico le prime 3 pagine più visitate
:cool:

Se usi un CMS basta un plugin..

se devi farlo in codice php puro fai questa scaletta (ovviamente do per scontato che tu sappia almeno le basi di php/MySql)

1. ogni tua pagina avrà ovviamente un Id .. inserisci un campo contatore (numerico INT) nella tabella delle pagine
(da quel momento in poi ogni ID di pagina avrà anche un parametro "contatore")

2. Nel sorgente PHP, e più opportunamente , nella condizione che identifica OGNI pagina inserisci un codice che recupera il dato contatore per quella pagina (in base all' ID) e lo incrementa di 1. del tipo:

// recupero dal DB con mysql il dato contatore in una variabile
// lo incremento di uno con l'operatore ++
// ricarico il valore aggiornato sul DB

*** Consigliato fare una function esterna del tipo contavisita($id);

3. Nella parte di pagina nella home che ti serve di mostrare i più letti metti un codice che:

// recupera nel Database con una Query i primi 3 ( LIMIT 3 ) con più visite ( ASC )
della tabella relativa agli id di pagina

// li scrivi con un ciclo e un unordered list ( <ul><li></li></ul> )



Fatto :)

Spero di esserti stato utile
 

Shyson

Utente Attivo
19 Ago 2012
1.128
1
38
:cool:

Se usi un CMS basta un plugin..

se devi farlo in codice php puro fai questa scaletta (ovviamente do per scontato che tu sappia almeno le basi di php/MySql)

1. ogni tua pagina avrà ovviamente un Id .. inserisci un campo contatore (numerico INT) nella tabella delle pagine
(da quel momento in poi ogni ID di pagina avrà anche un parametro "contatore")

2. Nel sorgente PHP, e più opportunamente , nella condizione che identifica OGNI pagina inserisci un codice che recupera il dato contatore per quella pagina (in base all' ID) e lo incrementa di 1. del tipo:

// recupero dal DB con mysql il dato contatore in una variabile
// lo incremento di uno con l'operatore ++
// ricarico il valore aggiornato sul DB

*** Consigliato fare una function esterna del tipo contavisita($id);

3. Nella parte di pagina nella home che ti serve di mostrare i più letti metti un codice che:

// recupera nel Database con una Query i primi 3 ( LIMIT 3 ) con più visite ( ASC )
della tabella relativa agli id di pagina

// li scrivi con un ciclo e un unordered list ( <ul><li></li></ul> )



Fatto :)

Spero di esserti stato utile
Scusa, cos'è il CMS? Io non vorrei usare un db per questa cosa (anche se lo uso già per i sondaggi).
 

mariosantella.com

Nuovo Utente
8 Mar 2014
24
1
3
il cms

Scusa, cos'è il CMS? Io non vorrei usare un db per questa cosa (anche se lo uso già per i sondaggi).
un cms è un sistema di gestione contenuti come Wordpress , joomla o Drupal [cerca su google cosa sono]
che ti permettono di gestire un sito autonomamente
con soluzioni PLUGIN ovvero esiste per ogni funzionalità che vuoi aggiungere un componente aggiuntivo da installare direttamente (e comodamente) online sul pannello di amministrazione del tuo sito.

Tuttavia se non hai un sistema tra quelli che ti ho scritto sopra puoi sempre mettere mano al PHP nella maniera che ti ho descritto (googlando trovi tutte le funzioni).

Ma di che sito si tratta ( per curiosità ) ?
 

Shyson

Utente Attivo
19 Ago 2012
1.128
1
38
un cms è un sistema di gestione contenuti come Wordpress , joomla o Drupal [cerca su google cosa sono]
che ti permettono di gestire un sito autonomamente
con soluzioni PLUGIN ovvero esiste per ogni funzionalità che vuoi aggiungere un componente aggiuntivo da installare direttamente (e comodamente) online sul pannello di amministrazione del tuo sito.

Tuttavia se non hai un sistema tra quelli che ti ho scritto sopra puoi sempre mettere mano al PHP nella maniera che ti ho descritto (googlando trovi tutte le funzioni).

Ma di che sito si tratta ( per curiosità ) ?
Il sito www.gruppoalveo.altervista.org per il Sondaggio e i successi uso il db.
 

mariosantella.com

Nuovo Utente
8 Mar 2014
24
1
3
Il sito www.gruppoalveo.altervista.org per il Sondaggio e i successi uso il db.
Ok ,
io comunque spero che per DB intendi DataBase,
ovviamente vedo che sei in gamba e non te lo devo dire io:

Un database è il principio di ogni tipo di registrazione di dati Web , senza quello niente classifiche
specifiche, pagine, Articoli, statistiche.... insomma niente di dinamico .. nulla di nulla...

Quindi a livello di sviluppo, senza un database mi dici dove registreresti le visite di pagina per stilare quali sono più visitate?

non è che puoi dire:

no non utilizzo un database, però voglio le pagine più visitate in home page..
ti sto dicendo che non si può proprio fare senza appoggiarsi ad un database..

Quindi :

se tu vuoi fare quello che dici, con un minimo di basi di PHP/MYSQL puoi seguire la scaletta che ti ho proposto e suggerito nel precedente messaggio, altrimenti perdonami ... ma non riesco a "centrare" il tuo problema.
 

Shyson

Utente Attivo
19 Ago 2012
1.128
1
38
Ok ,
io comunque spero che per DB intendi DataBase,
ovviamente vedo che sei in gamba e non te lo devo dire io:

Un database è il principio di ogni tipo di registrazione di dati Web , senza quello niente classifiche
specifiche, pagine, Articoli, statistiche.... insomma niente di dinamico .. nulla di nulla...

Quindi a livello di sviluppo, senza un database mi dici dove registreresti le visite di pagina per stilare quali sono più visitate?

non è che puoi dire:

no non utilizzo un database, però voglio le pagine più visitate in home page..
ti sto dicendo che non si può proprio fare senza appoggiarsi ad un database..

Quindi :

se tu vuoi fare quello che dici, con un minimo di basi di PHP/MYSQL puoi seguire la scaletta che ti ho proposto e suggerito nel precedente messaggio, altrimenti perdonami ... ma non riesco a "centrare" il tuo problema.
Avendo già il DB per i sondaggi potrei prendere spunto da quel codice, ma per me sarebbe come ripartire quasi da zero. Quel codice mi ha aiutato borgo italia a farlo.
 

Shyson

Utente Attivo
19 Ago 2012
1.128
1
38
:cool:

Se usi un CMS basta un plugin..

se devi farlo in codice php puro fai questa scaletta (ovviamente do per scontato che tu sappia almeno le basi di php/MySql)

1. ogni tua pagina avrà ovviamente un Id .. inserisci un campo contatore (numerico INT) nella tabella delle pagine
(da quel momento in poi ogni ID di pagina avrà anche un parametro "contatore")

2. Nel sorgente PHP, e più opportunamente , nella condizione che identifica OGNI pagina inserisci un codice che recupera il dato contatore per quella pagina (in base all' ID) e lo incrementa di 1. del tipo:

// recupero dal DB con mysql il dato contatore in una variabile
// lo incremento di uno con l'operatore ++
// ricarico il valore aggiornato sul DB

*** Consigliato fare una function esterna del tipo contavisita($id);

3. Nella parte di pagina nella home che ti serve di mostrare i più letti metti un codice che:

// recupera nel Database con una Query i primi 3 ( LIMIT 3 ) con più visite ( ASC )
della tabella relativa agli id di pagina

// li scrivi con un ciclo e un unordered list ( <ul><li></li></ul> )



Fatto :)

Spero di esserti stato utile
Ho creato la tabella che si chiama "visitati" e ho questo primo codice…poi sono fermo

PHP:
<?php
$q="SELECT * FROM visitati WHERE id=1"; 
$risultato = mysql_query($q); 
$riga=mysql_fetch_assoc($risultato); 
$tot=0; // Metto il totale a 0 
foreach($riga as $chiave => $valore) { 
     if($chiave !="id") {
        ${$chiave}=$valore; // Valore del campo 
        $tot=$tot+$valore; // Faccio il totale 
    } 
} 
...
 

Allegati

marino51

Utente Attivo
28 Feb 2013
2.744
141
63
Lombardia
scusa, ma un'azienda commerciale ... pilota i più visti sui prodotti di suo interesse ....
may be ... it's a simple solution ...
ciao
Marino