Codice: Seleziona tutto
<?php
////////////////////////////////////////////////////////////////////////////
// Mario Santagiuliana
// script per visualizzare in una tabella gli ultimi messaggi inseriti in
// in un forum phpBB3 con database postgresql
// numero massimo di messaggi da visualizzare definiti da $limite
////////////////////////////////////////////////////////////////////////////
// numero massimo di messaggi da estrarre dal database
$limite=10;
// Titoli della tabella, possono essere cambiati o inseriti
// in un file di lingua per un sito web multilingua
$ForumTab="Forum";
$TopicTab="Topic";
$UtenteTab="Utente";
$OrarioTab="Ora invio";
//-----------------------------------------------------------
// file di configurazione di phpBB
// cambiare la patch se non corrisponde
include($_SERVER['DOCUMENT_ROOT'].'\forum\config.php');
$connessione = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
// query principale per fare la richiesta degli ultimi messaggi/post
$sql="SELECT * FROM phpbb_posts ORDER BY post_time DESC LIMIT $limite";
$risultati=mysqli_query($connessione, $sql) or die ("Query non valida: " . mysql_error());
//-----
echo"\n<table border=\"1px\" cellpadding=\"3px\" cellspacing=\"0px\" style=\"width: 100%;\">\n";
echo" <tr>";
echo"<td>$ForumTab</td>";
echo"<td>$TopicTab</td>";
echo"<td>$UtenteTab</td>";
echo"<td>$OrarioTab</td>";
echo" </tr>";
while($riga = mysqli_fetch_array($risultati)) {
$titolo = $riga["post_subject"];
$numero_topic = $riga["topic_id"];
$data = $riga["post_time"];
$posterid = $riga["poster_id"];
//richiedo il nome di chi ha scritto il messaggio
$richiesta="SELECT username FROM phpbb_users WHERE user_id = $posterid";
$username=mysqli_fetch_row(mysqli_query($connessione, $richiesta));
//richiedo il nome del forum
$forum_id=$riga['forum_id'];
$richiesta="SELECT DISTINCT forum_name FROM phpbb_forums WHERE forum_id = $forum_id";
$Nomeforum=mysqli_fetch_row(mysqli_query($connessione, $richiesta));
echo" <tr>\n";
echo" <td><a href=\"/forum/viewforum.php?f=$forum_id\" onclick=\"window.open(this.href);return false;\" style=\"color: blue;\">".$Nomeforum['0']."</a></td>";
//se il titolo del messaggio è troppo lungo lo taglio
if(strlen($titolo)<25)
echo" <td style=\"width: 170px;\"><a href=\"/forum/viewtopic.php?t=$numero_topic\" onclick=\"window.open(this.href);return false;\" title=\"$titolo\" style=\"color: blue;\">$titolo</a></td>\n";
else
echo" <td style=\"width: 170px;\"><a href=\"/forum/viewtopic.php?t=$numero_topic\" onclick=\"window.open(this.href);return false;\" title=\"$titolo\" style=\"color: blue;\">".substr($titolo,0,25)."... </a></td>\n";
echo" <td>$username[0] </td>\n";
echo" <td style=\"width: 110px;\">".date(' H:i - d/m/y ', $data)."</td>\n";
echo" </tr>\n";
}//Fine del while
echo"</table>\n\n";
mysqli_close($connessione);
?>
Grazie per l'attenzione