Pagina 1 di 1

ultimi 10 topic in una determianta sezione o sezioni

Inviato: 17/03/2011, 9:25
da chicks0315
Salve io ho questa mod per vedere gli ultimi topic inseriti nel forum:

Codice: Seleziona tutto


// INIZIO - 10 Topics più Recenti
    $sql3 = "SELECT topic_id, forum_id, topic_title, topic_time, topic_moved_id, topic_first_poster_name
        FROM " . TOPICS_TABLE . "
        WHERE topic_type = 0
        AND topic_moved_id = 0
        ORDER BY topic_time DESC LIMIT 0,10";
    $result3 = $db->sql_query($sql3);

    while ($row3 = $db->sql_fetchrow($result3))
    {
       if ($auth->acl_get('f_read', $row3['forum_id']) == 1) {
          $template->assign_block_vars('topics_last', array(
             'LAST_LINK'      => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row3['forum_id'] . "&t=" . $row3['topic_id']),
             'LAST_TITOLO'    => $row3['topic_title'],
             'LAST_AUTHOR'    => $row3['topic_first_poster_name'],
             'LAST_DATA'      => date("d.m.Y",$row3['topic_time'])
          ));
       }
    }
    $db->sql_freeresult($result1);




questa mod mi visualizza tutti gli ultimi 10 topic inseriti nel forum, io vorrei modificarla affinchè si vedessero solo gli ultimi 10 topic in determinate sezioni. In teoria basterebbe selezionare dove il il forum id è uguale al forum che noi vogliamo monitorare in pratica vorrei vedere come lo fate voi, Grazie mille


EDIT: ho risolto mettendo AND Where forum_id = numero

ma se voglio mettere più sezioni da controllare posso mettere virgola e poi altro numero ?invece che fare un and per ogni senzione ?


EDIT 2: per ora ho fatto così

AND Where forum_id != numero

per non prendere i topic di una determinata sezione ma mi piacerebbe decidere quali sezioni monitorare.
Scusate se faccio smepre edit e che me lo sto risolvendo da solo.

Re: ultimi 10 topic in una determianta sezione o sezioni

Inviato: 17/03/2011, 9:53
da Carlo
Anche se hai risolto per una singola sezione, lo scrivo comunque per chiunque legga questa discussione e abbia il tuo stesso problema.
La query originale è:

Codice: Seleziona tutto

SELECT topic_id, forum_id, topic_title, topic_time, topic_moved_id, topic_first_poster_name FROM " . TOPICS_TABLE . " WHERE topic_type = 0 AND topic_moved_id = 0 ORDER BY topic_time DESC LIMIT 0,10
Per visualizzare le discussioni di una determinata sezione:

Codice: Seleziona tutto

SELECT topic_id, forum_id, topic_title, topic_time, topic_moved_id, topic_first_poster_name FROM " . TOPICS_TABLE . " WHERE topic_type = 0 AND topic_moved_id = 0 AND forum_id = X ORDER BY topic_time DESC LIMIT 0,10
Sostituendo X con l'ID della sezione interessate.

Per visualizzare le discussioni di più sezioni:

Codice: Seleziona tutto

SELECT topic_id, forum_id, topic_title, topic_time, topic_moved_id, topic_first_poster_name FROM " . TOPICS_TABLE . " WHERE topic_type = 0 AND topic_moved_id = 0 AND forum_id IN (1, 2, 3, 4) ORDER BY topic_time DESC LIMIT 0,10
Sostituendo quindi 1, 2, 3 e 4 con gli ID delle sezioni interessate.

Re: ultimi 10 topic in una determianta sezione o sezioni

Inviato: 17/03/2011, 10:00
da chicks0315
grazie milleeeeeeeeeeee :-)

Re: ultimi 10 topic in una determianta sezione o sezioni

Inviato: 13/10/2012, 12:53
da digreo
Scusate e poi per "stampare" questi dati? Devo usare il BEGIN? E ...come?? :/

Re: ultimi 10 topic in una determianta sezione o sezioni

Inviato: 13/10/2012, 13:09
da Micogian
Nella Sezione Wiki trovi molte Guide che spiegano come funziona phpbb.
Una Guida fatta da me è questa: http://wiki.phpbbitalia.net/Interrogare_il_database

Re: ultimi 10 topic in una determianta sezione o sezioni

Inviato: 13/10/2012, 17:30
da digreo
Sto provando incessantemente a piazzare gli ultimi 10 post nella mia Home Page fuori dal forum, ma che ha il template all'interno della medesima cartella del forum!

MODIFICATO

Codice: Seleziona tutto

//NEL FILE .PHP
 $sql = "SELECT forum_id, topic_id, post_id, post_subject
         FROM " . POSTS_TABLE . "
         ORDER BY post_time DESC LIMIT 0,10";

    $result = $db->sql_query($sql);
    while ($row = $db->sql_fetchrow($result))
         {
         $template->assign_block_vars('last_topics',array(
         'LAST_LINK'      => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&t=" . $row['topic_id'] . "&p=" . $row['post_id'] . "#p" . $row['post_id']),
         'TITLE_TOPIC'   => $row['post_subject']
         ));
         }


//NEL FILE TEMPLATE
<!-- BEGIN last_topics -->
<a href="{last_topics.LAST_LINK}" alt="{last_topics.TITLE_TOPIC}">{last_topics.TITLE_TOPIC}</a>
<!-- END lista_topics -->
MODIFICATO Perfetto funziona benissimo!