Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 54 di 56
  • livello intermedio
Indice lezioni

Conteggio e visualizzazione dei commenti

Come mostrare il numero di commenti accanto al titolo del post e come visualizzarli
Come mostrare il numero di commenti accanto al titolo del post e come visualizzarli
Link copiato negli appunti

Nella homepage del blog, oltre alle anteprime dei post, sarà disponibile anche il risultato del conteggio dei commenti relativi ad ogni articolo; questo sarà possibile grazie ad una piccola funzione basata sull'istruzione Sql SELECT COUNT:

Si analizzi il funzionamento del codice appena proposto: la funzione accetta come parametri 6 argomenti simboleggiati da altrettante variabili:

  1. $id_c
  2. $tbl
  3. $campo
  4. $id_post
  5. $enum
  6. $valore_enum

Sulla base di questi parametri sarà possibile eseguire una chiamata alla funzione conta_commenti() direttamente dalla homepage del sito Web:

Sarà quindi eseguita una query che conterà tutti i valori relativi al campo id_commento commenti id_post approvato

SELECT COUNT(id_commento) AS n_commenti from commenti WHERE id_post = 2 AND approvato = '1';

n_commenti

A questo punto, il discorso relativo alla gestione dei commenti può ritenersi concluso, manca soltanto la parte che concerne la visualizzazione dei commenti per ogni articolo il cui codice dovrà essere inserito nella pagina destinata a mostrare il testo integrale dei singoli post; ciò sarà possibile attraverso una semplice query di selezione:

// estrazione dei commenti
$post_commenti=$data->query("SELECT autore_commento,testo_commento,data_commento FROM commenti WHERE id_post = $id_post AND approvato='1' ORDER BY data_commento DESC");
    if(mysql_num_rows($post_commenti) > 0){
         echo "<ul>n";
     while($commenti_obj = $data->estrai($post_commenti))
         {
         $autore_commento = stripslashes($commenti_obj->autore_commento);
         $testo_commento = stripslashes($commenti_obj->testo_commento);
         $data_commento = stripslashes($commenti_obj->data_commento);
         echo "<li>n ";
         echo "Autore: " . $autore_commento . " Scritto il ". $data->format_data($data_commento) . "n";
     echo  "<br />n";
         echo "Commento: " . $testo_commento;
         echo "</li>n ";
         }
         echo "</ul>n";
        }else{
        echo "Nessun commento per questo post";
        }

Il listato esposto esegue un'interrogazione sulla base dell'identificativo univoco relativo al post visualizzato: (SELECT … FROM commenti WHERE id_post = $id_post AND approvato = '1' ORDER BY data_commento DESC

Ti consigliamo anche