Contatore Top Forum

« Older   Newer »
  Share  
max_400
view post Posted on 2/4/2012, 21:04     +1   -1




Ciao a tutti.
Mi piacerebbe creare una specie di contatore visite però al contrario
cioè il numero aumenta in mancaza di visite, si può fare in php?

L'esempio è nel mio forum
https://max400.forumfree.it/

in basso su statistiche vedrete un numero tipo 457° top forum
questo numero rappresenta la media delle visite degli utenti in base
a tutti i forum del circuito forumfree.

Ogni visita vale 2°....in mancanza di visite...se nessuno visita il forum
questo numero sprofonda quindi ogni mezzora avremo 459° poi 461° poi 463°

Qualkuno di voi è capace di realizzarlo?
Grazie.

Ps adesso il numero è sceso a 378°...i primi giorni di ogni mese le posizioni cambiano moltissimo poi si stabilizzano.
Quando si arriva sotto ai 200 si ha la possibilita di inserire un pulsante per essere votati in topo forum
quando un utente clicca sul pulsante regala all'amministratore la bellezza di 50 punti
 
Top
maxmaxuell
view post Posted on 2/4/2012, 21:18     +1   -1




Cu-cù? c'è nessuno?
Esiste un modo?

un contatore che aumenta ogni mezzora?
di 2 punti alla volta


Esempio Web Designer

Ciao, puoi usare lo Script PHP Toplist.
www.webstyling.it/script/php/toplist_php.php


Esempio criric

Ciao,
provo a spararne una, molto molto artigianale ......

nella pagina degli accessi :

CODICE
<?php

         //connessione a mysql
         $conn = mysql_connect("localhost", "root", "", "database");
         $db = mysql_select_db("database");
         // ad ogni nuovo accesso potremmo aggiornare il contatore
         // Calcolando che la query per l'inserimento degli accessi sia piu o meno cosi
         $query = "INSERT INTO accessi SET idUtente = " . $_SESSION['idUtente'] . ",
                                           dataAccesso = NOW()";

         // impostiamo il tempo
         $minuti = 30;
         // recuperiamo il valore del contatore in questo caso da un file di testo
         $file = "contatore.txt";
         $fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
         $contatore = fgets($fr);
         fclose($fr);

         // calcoliamo quanto tempo è passato dall'ultimo accesso
         $query = "SELECT TIMESTAMPDIFF(MINUTE , dataAccesso, NOW()) AS tempo
                          FROM accessi
                          ORDER BY dataAccesso DESC
                          LIMIT 1";
         $tempo = mysql_fetch_row(mysql_query($query));

         // lo dividiamo per i minuti prefissati arrotondando all'eccesso
         $incremento = ceil($tempo[0] / $minuti);


         // se maggiore di uno dobbiamo aumentare il contatore
         if ($incremento > 1) {
             // in pratica il numero dell mezze ore per i 2 punti    
             $contatore+= $incremento * 2;    
         } else {
             // altrimenti decrementiamo di 2
             $contatore-=2;
         }
         // aggiorniamo il contatore
         $fr = fopen($file, 'w') or die("Impossibile aprire il file in scrittura!");
         fwrite($fr, $contatore);
         fclose($fr);
         ?>

Per visualizzare il contatore :

CODICE
<?php
         // nella pagina si visualizza
         $file = "contatore.txt";
         $fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
         $contatore = fgets($fr);
         fclose($fr);
         echo $contatore;
         ?>


mi sembra ok c'è una parte che non capisco bene...


HTML
$query = "SELECT TIMESTAMPDIFF(MINUTE , dataAccesso, NOW()) AS tempo
FROM accessi
ORDER BY dataAccesso DESC
LIMIT 1";
$tempo = mysql_fetch_row(mysql_query($query));

TIMESTAMPDIFF.....?
la tabella è accessi
i campi MINUTE, dataAccesso,NOW()..
-----------------------------


- criric:

La tabella è accessi

i campi sono idUtente e dataAccesso

TIMESTAMPDIFF è una funzione di mysql che ti restituisce la differenza tra due date

con MINUTE gli indichi come ti deve restituire la differenza quindi in minuti

NOW è la data corrente

In pratica ti restituisce la differenza in minuti tra la data registrata e quella corrente

Per la funzione TIMESTAMPDIFF è necessario il database ma la differenza tra due date si puo calcolare anche in php

Senza database intendi anche per gli accessi?

penso di si, al momento non mi viene in mente niente di intelligente pero se vuoi evitare il database ci possiamo provaree



 
Top
Luca88SD
view post Posted on 17/4/2012, 19:20     +1   -1




Max vedi cosa si può fare :D
 
Top
max_400
view post Posted on 17/4/2012, 23:17     +1   -1




eh si... ma tu conosci un po di programmazione?
se è sì cosa conosci in particolare?
 
Top
3 replies since 2/4/2012, 21:04   51 views
  Share