Se vuoi eseguire lo stesso codice utilizzando però query com condizioni differenti (ovviamente sulla stessa tabella) puoi scrivere una function che si occuperà di eseguire e visualizzare i risultati di una query passata come parametro. Ciò ti eviterà di duplicare il codice ogni volta.
A questo punto ti basta passare di volta in volta la query voluta alla funzione per visualizzare le tipologie di commenti che preferisci:
Codice PHP:
$queryPiuCommentati = "SELECT *, DATE_FORMAT(datetime,'[b]%d.%m.%Y[/b] - [b]%H:%i:%s[/b]') as datatime FROM articoli ORDER BY commenti DESC LIMIT 5";
showComment($queryPiuCommentati);
Codice PHP:
function showComment($query) {
echo "<h1>I più commentati</h1>";
echo "<div class=\"corp\">";
$piu_commentati = mysql_query($query);
$flag_colore = 0;
while ($piucommentati = mysql_fetch_array($piu_commentati)) {
$titolo = $piucommentati['titolo'];
$content = $piucommentati['content'];
$sezione1 = $piucommentati['sezione1'];
$sezione2 = $piucommentati['sezione2'];
$url = $piucommentati['url'];
$materia = $piucommentati['materia'];
$dt = $piucommentati['datatime'];
$commenti = $piucommentati['commenti'];
$si = $piucommentati['si'];
$no = $piucommentati['no'];
$content = strip_tags($content);
$content = substr($content, 0, 499)."...";
if ($flag_colore == 0) {
echo "<div class=\"cont1\">";
$flag_colore = 1;
} else {
echo "<div class=\"cont2\">";
$flag_colore = 0;
}
$show_comment = ($commenti == 1) ? "commento" : "commenti";
echo "<a href=\"$url\">".ucfirst($titolo)."</a>
".ucfirst($content)."
$dt | <a href=\"http://www.atuttascienza.altervista.org/ricerca.php?search=" . $materia . "\">". ucfirst($materia) . "</a> | Mi piace: [b]$si[/b] - Non mi piace: [b]$no[/b] | [b]<u>$commenti $show_comment</u>[/b]";
echo "</div>";
}
}