Questa guida vi spiega come inserire statistiche della vostra board sul vostro sito, avendo una pagina .php.
Con questa guida potete visualizzare nel sito:
- Numero di post totali
- Numero di utenti totali
- Ultimo utente registrato
- Ultimi 10 topic
- Primo post dell'ultima discussione di un determinato forum
- Ultimi 5 utenti
- Top 5 poster
Codice: Seleziona tutto
<?php
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'config.' . $phpEx);
$connessione = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
if (!$connessione) {
echo "Impossibile connettersi al DB: " . mysql_error();
exit;
}
if (!mysql_select_db("$dbname")) {
echo "Impossibile selezioanare database: " . mysql_error();
exit;
}
?>
Codice: Seleziona tutto
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
Codice: Seleziona tutto
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './forum/';
Codice: Seleziona tutto
<?php
// post totali
$query_totalepost = "SELECT * FROM ".$table_prefix."posts";
$totalepost = mysql_query($query_totalepost);
if (!$totalepost) {
echo "Fallimento nell'esecuzione della query ($query_totalepost) dal DB: " . mysql_error();
exit;
}
$righe_totalepost = mysql_num_rows($totalepost);
?>
Codice: Seleziona tutto
echo "Totale messaggi:".$righe_totalepost;
Codice: Seleziona tutto
// utenti totali
$sql_totaleutenti = "SELECT username FROM ".$table_prefix."users WHERE user_type = '0' OR user_type = '3'";
$query_totaleutenti = mysql_query($sql_totaleutenti);
if (!$query_totaleutenti) {
echo "Fallimento nell'esecuzione della query ($query_totaleutenti) dal DB: " . mysql_error();
exit;
}
$righe_totaleutenti = mysql_num_rows($query_totaleutenti);
mysql_free_result($query_totaleutenti);
Codice: Seleziona tutto
echo "Totale utenti:".$righe_totaleutenti;
Codice: Seleziona tutto
// ultimo utente
$sql_ultimoutente = "SELECT username, user_colour
FROM ".$table_prefix."users WHERE user_type = '0' OR user_type = '3'
ORDER BY user_id DESC LIMIT 0,1";
$query_ultimoutente = mysql_query($sql_ultimoutente);
if (!$query_ultimoutente) {
echo "Fallimento nell'esecuzione della query ($query_ultimoutente) dal DB: " . mysql_error();
exit;
}
while ($dati_ultimoutente = mysql_fetch_assoc($query_ultimoutente)) {
echo "Ultimo iscritto: <a href='./memberlist.php?mode=viewprofile&un=$dati_ultimoutente[username]' target='_top'><font color='$dati_ultimoutente[user_colour]'><b>$dati_ultimoutente[username]</b></font></a>";
}
mysql_free_result($query_ultimoutente);
Visualizzare ultimi 10 topic
Codice: Seleziona tutto
// ultimi 10 topic
$sql_ultimitopic = "SELECT topic_id,forum_id,topic_last_post_id,topic_last_post_time,
topic_title,topic_last_poster_name,topic_last_poster_colour
FROM ".$table_prefix."topics
ORDER BY topic_last_post_time DESC LIMIT 0,10";
$query_ultimitopic = mysql_query($sql_ultimitopic);
if (!$query_ultimitopic) {
echo "Fallimento nell'esecuzione della query ($query_ultimitopic) dal DB: " . mysql_error();
exit;
}
while ($dati_ultimitopic = mysql_fetch_assoc($query_ultimitopic)) {
$str_array3 = array('à', 'è', 'é', 'ì', 'ò', 'ù');
$str_array4 = array('à', 'è', 'í', 'ì', 'ò', 'ù');
$dati_ultimitopic['topic_title'] = str_replace($str_array3, $str_array4, $dati_ultimitopic['topic_title']);
echo "• <a href='./viewtopic.php?f=$dati_ultimitopic[forum_id]&t=$dati_ultimitopic[topic_id]#p$dati_ultimitopic[topic_last_post_id]'>$dati_ultimitopic[topic_title]</a><br>
Inviato da <a href='./memberlist.php?mode=viewprofile&un=$dati_ultimitopic[topic_last_poster_name]'><font color='$dati_ultimitopic[topic_last_poster_colour]'><b>$dati_ultimitopic[topic_last_poster_name]</b></font></a>, il " . date("j/n/y", $dati_ultimitopic[topic_last_post_time]) . "<br />";
}
mysql_free_result($query_ultimitopic);
Codice: Seleziona tutto
// primo post dell'ultima discussione di un determinato forum
$f1 = 1; // id del forum
$sql_ppud1 = "SELECT topic_first_post_id FROM ".$table_prefix."topics WHERE forum_id = '".$f1."' ORDER BY topic_time DESC LIMIT 0,1";
$query_ppud1 = mysql_query($sql_ppud1);
$row_ppud1 = mysql_fetch_assoc($query_ppud1);
$sql_pppud1 = "SELECT post_subject, post_text, bbcode_bitfield, bbcode_uid FROM ".$table_prefix."posts WHERE post_id = '".$row_ppud1['topic_first_post_id']."'";
$query_pppud1 = mysql_query($sql_pppud1);
$row_pppud1 = mysql_fetch_assoc($query_pppud1);
if (!$query_ppud1 || !$query_pppud1) {
echo "Fallimento nell'esecuzione della query dal DB: " . mysql_error();
exit;
}
$str_array1 = array('[b]', '[/b]', '[i]', '[/i]', '[u]', '[/u]');
$str_array2 = array('<b>', '</b>', '<i>', '</i>', '<u>', '</u>');
$str_array3 = array('à', 'è', 'é', 'ì', 'ò', 'ù');
$str_array4 = array('à', 'è', 'í', 'ì', 'ò', 'ù');
$post_pppud1 = str_replace(":".$row_pppud1['bbcode_uid'], "", $row_pppud1['post_text']);
$post_pppud1 = str_replace("\n", "<br />", $post_pppud1);
$post_pppud1 = str_replace($str_array1, $str_array2, $post_pppud1);
$post_pppud1 = str_replace($str_array3, $str_array4, $post_pppud1);
$row_pppud1['post_subject'] = str_replace($str_array3, $str_array4, $row_pppud1['post_subject']);
echo "<b>".$row_pppud1['post_subject']."</b><br />".$post_pppud1."<br />";
mysql_free_result($query_pppud1);
mysql_free_result($query_ppud1);
Codice: Seleziona tutto
// ultimi 5 utenti
$sql_ultimiutenti = "SELECT username, user_colour
FROM ".$table_prefix."users WHERE user_type = '0' OR user_type = '3'
ORDER BY user_id DESC LIMIT 0,5";
$query_ultimiutenti = mysql_query($sql_ultimiutenti);
if (!$query_ultimiutenti) {
echo "Fallimento nell'esecuzione della query ($query_ultimiutenti) dal DB: " . mysql_error();
exit;
}
echo "Ultimi 5 iscritti:<br />";
while ($dati_ultimiutenti = mysql_fetch_assoc($query_ultimiutenti)) {
echo "• <a href='./memberlist.php?mode=viewprofile&un=$dati_ultimiutenti[username]' target='_top'><font color='$dati_ultimiutenti[user_colour]'><b>$dati_ultimiutenti[username]</b></font></a><br />";
}
mysql_free_result($query_ultimiutenti);
Codice: Seleziona tutto
// top 5 poster
$sql_topposter = "SELECT username, user_colour, user_posts
FROM ".$table_prefix."users WHERE user_type = '0' OR user_type = '3'
ORDER BY user_posts DESC LIMIT 0,5";
$query_topposter = mysql_query($sql_topposter);
if (!$query_topposter) {
echo "Fallimento nell'esecuzione della query ($query_topposter) dal DB: " . mysql_error();
exit;
}
echo "Top 5 Poster:<br />";
while ($dati_topposter = mysql_fetch_assoc($query_topposter)) {
echo "• <a href='./memberlist.php?mode=viewprofile&un=$dati_topposter[username]' target='_top'><font color='$dati_topposter[user_colour]'><b>$dati_topposter[username]</b> [<u>$dati_topposter[user_posts]</u>]</font></a><br />";
}
mysql_free_result($query_topposter);