[PHP] Testo in grassetto quando rilevo modifiche

  • Creatore Discussione Creatore Discussione Trapano
  • Data di inizio Data di inizio

Trapano

Utente Attivo
27 Set 2012
238
0
16
49
Ciao a tutti.
Ho una paginetta di statistiche che si "refrescia" ogni secondo e mostra il numero di accessi a una 20ina di pagine.
Vorrei che ad ogni refresh, se un numero cambia, venga visualizzato in neretto, in modo da vererlo subito a colpo d'occhio.

parte del codice è così:
PHP:
echo "Pagina home ";
include ('contatore.txt');
echo "<br>";
echo "Pagina due parole ";
include ('contatoreinf.txt');
echo "<br>";
echo "Pagina gruppi di facebook ";
include ('contatoregruppi.txt');
echo "<br>";
echo "Pagina montaggio quadricottero ";
include ('contatoremontaggio.txt');
echo "<br>";
echo "Pagina luoghi visitati ";
include ('contatorestorico.txt');
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pagina torre di caprona ";
include ('contatorecaprona.txt');
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pagina uliveto  ";
include ('contatoreuliveto.txt');
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pagina camugliano ";
include ('contatorecamugliano.txt');
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pagina santallago ";
include ('contatoresantallago.txt');
echo "<br>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pagina montacchiello ";
include ('contatoremontacchiello.txt');
echo "<br>";
 
Ultima modifica di un moderatore:
@Trapano
Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
php-png.5742
quando posti del codice PHP e il tag
code-gif.5743
per il codice generico, oppure la funzione codice dalla barra degli strumenti
box-inserisci-2-png-jpg.5744


Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
 
@Trapano opterei per l'utilizzo del tuo script no con gli include ma con js e underscore (solo per facilitare il lavoro).

PHP:
/**
* Funzione per eseguire il codice di conteggio delle pagine?
* @param string $page Risultato selezionato o tutte in caso vuoto
* */
function get_count_pages($page=''){
    //array associativo per memorizzazioni dei dati
    // lo potresti utilizzare anche come base per far rispondere l'app in modo parziale passando solo l'item che ti serve
    $contatore=['pagina1'=>'path file.txt da recuperare','pagina2'=>'path file.txt da recuperare','pagina3'=>'path file.txt da recuperare'......,'paginaN'=>'path file.txt da recuperare'];
   //eseguo il codice per il conteggio
    $result_=[];
    if($page==''){
          foreach($contatore as $key=>$value){
                    //invece di includere la pagina recuperi il suo contenuto al tempo Tn
                    $result[$key]=file_get_contents($value);
          }
    }else{
           //nel caso in cui page non sia vuoto recupero solo il file della pagina richiesta
           $result[$page]=file_get_contens($contatore[$page]);
     }
echo json_encode($result);
}
//potresti prevedere un blocco attraverso un parametro in GET o/e POST
//in questo caso la chiave conta abilita l'esecuzione della funzione
//mentre pagina abilita il risultato solo di una pagina
if(isset($_GET['conta'])){
(isset($_GET['pagina']))?get_count_pages($_GET['pagina']):get_count_pages();
}

Nel tuo file index.php e/o cmq nel tuo file dove recuperi i dati potresti fare una cosa del genere....

Codice:
.....
<body>

<div class="container">

//potresti stampare con php i container dei dati tipo:
<?php
   //è la stessa variabili del file precedente
  $contatore=['pagina1'=>'path file.txt da recuperare','pagina2'=>'path file.txt da recuperare','pagina3'=>'path file.txt da recuperare'......,'paginaN'=>'path file.txt da recuperare'];
   foreach($contatore as $k=>$v){
  
     echo '<div id="'.$k.'_container"><label>'.$k.'</label><div id="'.$k.'" class="my_class" data-val="0"></div></div>';

}

?>

</div>


</body>
.....




$(document).ready(function(){
function initPolling(my_polling){
    //preferisco notazione $.ajax
    //recuperto tutti i risultati della nostra pagina creata in precedenza
setInterval(function(){
     $.get('path_file_appena_scritto.php?conta=1&pagina=home',function(data){
            var obj=$.parseJSON(data);
           //ipotizzo che tu abbia già costruito il template iniziale
          _.each(obj,function(v,k){
                      var local=$('#'+k);
                      local.removeClass('bold');
                      //recupero il valore precedente memorizzato data-val
                      if(parseInt(local.data('val'))!=parseInt(v)){
                                  local.addClass('bold');
                      }
                      local.html(v);
                      local.data('val',v);
           });
     });
},my_polling);

}

//effettua il polling con l'aggiornamento dei dati ogni secondo e mezzo
initPolling(1500);

});

La cosa migliore sarebbe utilizzare qualche libreria, tipo underscore citata ma senza esempio....
 

Discussioni simili