• User Attivo

    Modifica a Script per gli ultimi 10 topic

    Salve a tutti, per il mio forum di discussione phpBB uso un piccolo script che mi permette di stampare gli ultimi 10 topic.
    Mi domandavo come faccio a non far apparire anche i topic privati? ossia quelli che riguardano i forum privati e non al pubblico?

    Lo script è il seguente:
    codice PHP:

    // Basic Configuration 
    // How Many Topics you want to display? 
    $topicnumber = 10; 
    // Scrolling towards up or down? 
    $scroll = "up"; 
    // Change this to your phpBB path 
    $urlPath = "http://www/forum"; 
    
    // Database Configuration (Where your phpBB config.php file is located 
    include './forum/config.php'; 
    
    // Connecting & Selecting Databases 
    $table_topics = $table_prefix. "topics"; 
    $table_forums = $table_prefix. "forums"; 
    $table_posts = $table_prefix. "posts"; 
    $table_users = $table_prefix. "users"; 
    $link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect"); 
    mysql_select_db("$dbname") or die("Could not select database"); 
    
    // Perform Sql Query 
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username 
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u 
    WHERE t.topic_id = p.topic_id AND 
    f.forum_id = t.forum_id AND 
    t.topic_status <> 2 AND 
    p.post_id = t.topic_last_post_id AND 
    p.poster_id = u.user_id 
    ORDER BY p.post_id DESC LIMIT $topicnumber"; 
    $result = mysql_query&#40;$query&#41; or die&#40;"Query failed"&#41;; 
    
    // Outcome of the HTML 
    // Be carefull when you edit these! 
    while &#40;$row = mysql_fetch_array&#40;$result, MYSQL_ASSOC&#41;&#41; &#123; 
    $topic_title=substr&#40;"$row&#91;topic_title&#93;", 0, 24&#41;; 
    $topic_title = preg_replace&#40;"/<&#40;.*?&#41;>/","",$topic_title&#41;; 
    $topic_title = ereg_replace&#40; "<&#91;^<>&#93;+>", "", $topic_title &#41;; 
    $topic_title = str_replace&#40;"\"","&#34;",$topic_title&#41;; 
    print "<ul>"; 
    echo  "* <a href=\"$urlPath/viewtopic.php?topic=$row&#91;topic_id&#93;&forum=$row&#91;forum_id&#93;\" title=\"Forum Cellulari\">» $topic_title " . 
    ".." . 
    " </a><img src=\"http&#58;//www.cellulartopic.com/images/ico_topics.gif\" alt=\"vai al topic sul cellulare\" />"; 
    print ""; 
    &#125; 
    
    // Free Result 
    mysql_free_result&#40;$result&#41;; 
    
    // Close the Connection 
    mysql_close&#40;$link&#41;;
    

    Grazie mille


  • User Attivo

    Salve a tutti, per il mio forum di discussione phpBB uso un piccolo script che mi permette di stampare gli ultimi 10 topic.
    Mi domandavo come faccio a non far apparire anche i topic privati? ossia quelli che riguardano i forum privati e non al pubblico?

    Lo script è il seguente:
    codice PHP:

    // Basic Configuration 
    // How Many Topics you want to display? 
    $topicnumber = 10; 
    // Scrolling towards up or down? 
    $scroll = "up"; 
    // Change this to your phpBB path 
    $urlPath = "http://www/forum"; 
    
    // Database Configuration &#40;Where your phpBB config.php file is located 
    include './forum/config.php'; 
    
    // Connecting & Selecting Databases 
    $table_topics = $table_prefix. "topics"; 
    $table_forums = $table_prefix. "forums"; 
    $table_posts = $table_prefix. "posts"; 
    $table_users = $table_prefix. "users"; 
    $link = mysql_connect&#40;"$dbhost", "$dbuser", "$dbpasswd"&#41; or die&#40;"Could not connect"&#41;; 
    mysql_select_db&#40;"$dbname"&#41; or die&#40;"Could not select database"&#41;; 
    
    // Perform Sql Query 
    $query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id, p.post_id, p.poster_id, p.post_time, u.user_id, u.username 
    FROM $table_topics t, $table_forums f, $table_posts p, $table_users u 
    WHERE t.topic_id = p.topic_id AND 
    f.forum_id = t.forum_id AND 
    t.topic_status <> 2 AND 
    p.post_id = t.topic_last_post_id AND 
    p.poster_id = u.user_id 
    ORDER BY p.post_id DESC LIMIT $topicnumber"; 
    $result = mysql_query&#40;$query&#41; or die&#40;"Query failed"&#41;; 
    
    // Outcome of the HTML 
    // Be carefull when you edit these! 
    while &#40;$row = mysql_fetch_array&#40;$result, MYSQL_ASSOC&#41;&#41; &#123; 
    $topic_title=substr&#40;"$row&#91;topic_title&#93;", 0, 24&#41;; 
    $topic_title = preg_replace&#40;"/<&#40;.*?&#41;>/","",$topic_title&#41;; 
    $topic_title = ereg_replace&#40; "<&#91;^<>&#93;+>", "", $topic_title &#41;; 
    $topic_title = str_replace&#40;"\"","&#34;",$topic_title&#41;; 
    print "<ul>"; 
    echo  "* <a href=\"$urlPath/viewtopic.php?topic=$row&#91;topic_id&#93;&forum=$row&#91;forum_id&#93;\" title=\"Forum Cellulari\">» $topic_title " . 
    ".." . 
    " </a><img src=\"http&#58;//www.cellulartopic.com/images/ico_topics.gif\" alt=\"vai al topic sul cellulare\" />"; 
    print ""; 
    &#125; 
    
    // Free Result 
    mysql_free_result&#40;$result&#41;; 
    
    // Close the Connection 
    mysql_close&#40;$link&#41;;
    

    Grazie mille


  • Community Manager

    Ciao EthanDane,

    nellla query quando estrapoli i topic basta dirgli di non prenderli dall'ID del forum che vuoi.

    Se il tuo forum privato ha un id 15 allora aggiundi

    AND forum_id!=15

    :ciauz:


  • User Attivo

    Grazie mille giorgio 🙂


  • User Newbie

    Salve mi associo pure io.
    Ho creato in html la home del mio sito e vorrei inserire nella home gli ultimi messaggi 5 o 10 dal forum in phpbb, come posso fare?
    Grazie


  • User Newbie

    risollevo il topic