Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Ultimi messaggi phpBB3

  1. #1

    Ultimi messaggi phpBB3

    Ciao a tutti, ci sto impazzendo dietro!
    Ho trovato questo codice in rete:
    Codice PHP:
    <?php
    include('config.php'); /*Collegamento al file di configurazione di phpBB*/

        
    $connessione mysql_connect('localhost''mysql_user''mysql_password');

        if (!
    $connessione) {
            echo 
    "Impossibile connettersi al DB: " mysql_error();
            exit;
        }

        if (!
    mysql_select_db("my_database")) {
            echo 
    "Impossibile selezionare database: " mysql_error();
            exit;
        }

        
    $query "SELECT pp.post_id, pp.topic_id,pp.forum_id, post_time, topic_title, pf.forum_name, pp.poster_id, pu.username, pf.forum_id
                FROM   phpbb_posts pp, phpbb_topics pt, phpbb_forums pf, phpbb_users pu
                WHERE  pp.topic_id = pt.topic_id
                AND pu.user_id = pp.poster_id
                AND pf.forum_id = pp.forum_id
                AND pp.forum_id = pt.forum_id
                AND pp.post_id = pt.topic_last_post_id
                GROUP BY pp.topic_id
                ORDER BY post_time DESC LIMIT 0,10"
    /*L'ultimo numero (il 10) va cambiato in base al numero di ultimi topic che si vuole estrarre*/         


        
    $risultato mysql_query($query);

        if (!
    $risultato) {
            echo 
    "Fallimento nell'esecuzione della query ($sql) dal DB: " mysql_error();
            exit;
        }

        if (
    mysql_num_rows($risultato) == 0) {
            echo 
    "Nessuna riga trovata, niente da stampare quindi si esce";
            exit;
        }

        while (
    $dati mysql_fetch_assoc($risultato)) {
            echo 
    "[*][b][url='viewtopic.php?p=$dati[post_id]#p$dati[post_id]']$dati[topic_title][/url][/b]<p style='color:#999'>
          Inviato il " 
    date("j/n/y"$dati[post_time]) . " alle ore: " date("H:m"$dati[post_time]) . "
    Da [url='memberlist.php?mode=viewprofile&u=" 
    $dati[poster_id] . "']" $dati[username] ."[/url] su [url='viewforum.php?f=" $dati[forum_id] . "'] " $dati[forum_name] ."[/url]</p>";

        }

        
    mysql_free_result($risultato);

    ?>
    Non riesco a farlo funzionare, viene fuori sempre e soltanto 1 solo topic, che per di più è già stato cancellato!
    Ecco cosa appare:

    Il link "benvenuto su phpbb3" è il link di un vecchio topic che oramai è stato cancellato, così come il link di "Il tuo primo forum", è una sezione del forum cancellata da tempo!
    L'altro link, quello con il mio nome, è esatto...

    Qualcuno può aiutarmi? magari è solo un piccolo errore nel codice, ma io non lo trovo...

  2. #2
    Ho risolto, l'errore era nel nome delle tabelle del database... il codice così com'è cerca le tabelle phpbb_** mentre nel database sono salvate come avphpbb_**
    È bastata questa semplice piccola modifica.
    Vi posto il codice, nel caso servisse a qualcun'altro:
    Codice PHP:
    <ul><?php
    include('config.php'); /*Collegamento al file di configurazione di phpBB*/

        
    $connessione mysql_connect("$dbhost""$dbuser""$dbpasswd");

        if (!
    $connessione) {
            echo 
    "Impossibile connettersi al DB: " mysql_error();
            exit;
        }

        if (!
    mysql_select_db("$dbname")) {
            echo 
    "Impossibile selezionare database: " mysql_error();
            exit;
        }

        
    $query "SELECT pp.post_id, pp.topic_id,pp.forum_id, post_time, topic_title, pf.forum_name, pp.poster_id, pu.username, pf.forum_id
                FROM   avphpbb_posts pp, avphpbb_topics pt, avphpbb_forums pf, avphpbb_users pu
                WHERE  pp.topic_id = pt.topic_id
                AND pu.user_id = pp.poster_id
                AND pf.forum_id = pp.forum_id
                AND pp.forum_id = pt.forum_id
                AND pp.post_id = pt.topic_last_post_id
                GROUP BY pp.topic_id
                ORDER BY post_time DESC LIMIT 0,10"
    /*L'ultimo numero (il 10) va cambiato in base al numero di ultimi topic che si vuole estrarre*/         


        
    $risultato mysql_query($query);

        if (!
    $risultato) {
            echo 
    "Fallimento nell'esecuzione della query ($sql) dal DB: " mysql_error();
            exit;
        }

        if (
    mysql_num_rows($risultato) == 0) {
            echo 
    "Nessuna riga trovata, niente da stampare quindi si esce";
            exit;
        }

        while (
    $dati mysql_fetch_assoc($risultato)) {
            echo 
    "[*][b][url='viewtopic.php?p=$dati[post_id]#p$dati[post_id]']$dati[topic_title][/url][/b]<p style='color:#999'>
          Inviato il " 
    date("j/n/y"$dati[post_time]) . " alle ore: " date("H:m"$dati[post_time]) . "
    Da [url='memberlist.php?mode=viewprofile&u=" 
    $dati[poster_id] . "']" $dati[username] ."[/url] su [url='viewforum.php?f=" $dati[forum_id] . "'] " $dati[forum_name] ."[/url]</p>";

        }

        
    mysql_free_result($risultato);

    ?>[/list]
    Ovviamente prima di utilizzarlo bisogna modificare l'indirizzo dei file config.php, viewtopic.php, memberlist.php, viewforum.php a seconda della posizione del file nel quale inserite il codice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.