• User

    Ultimi post in home page php

    Ciao a tutti.
    Non trovo uno script per poter inserire le ultime n discussioni aperte nel forum, all'interno di una normalissima pagina php del sito.

    Ne ho provati molti con risultati negativi.
    Chi riesce a darmi una mano?


  • User Attivo

    ciao, io uso questa query

    [PHP]$query = "SELECT p., f.forum_id, f.forum_name, t., u.username, u.user_id, u.user_colour

    FROM ".$prefix."forums f, ".$prefix."topics t, ".$prefix."users u, ".$prefix."posts p     
    

    WHERE f.forum_id = p.forum_id
    AND f.forum_id NOT IN ( ".$forums_exclude." )
    AND p.post_id = t.topic_last_post_id
    AND p.poster_id = u.user_id
    AND p.post_approved = 1
    AND t.topic_moved_id = 0
    GROUP BY t.topic_id
    ORDER BY p.post_id DESC LIMIT 0,".$limit ;[/PHP]

    poi con questa funzione limito il numero dei caratteri del testo del post

    [PHP]function troncatesto($testo, $caratteri=100)
    {
    if (strlen($testo) <= $caratteri){
    return $testo;
    }
    if (preg_match('<blockquote>', $testo))
    {
    return $testo;
    }
    $nuovo = wordwrap($testo, $caratteri, "|");
    $nuovotesto=explode("|",$nuovo);
    return $nuovotesto[0]."...";
    }[/PHP]

    e sto un pò scraniando con le espressioni regolari per il bbcode :arrabbiato:

    per il adesso il quote

    [PHP]
    $uid = $item->bbcode_uid;

    $testo_topic = preg_replace( "#[quote(="(.+)")?:$uid]#", '<blockquote><div>', $testo_topic );

    $testo_topic = preg_replace( "#[/quote:$uid]#", '</div></blockquote>', $testo_topic );

    $nuovotesto = strip_tags(troncatesto($testo_topic, 100), '<blockquote><span><div>');
    [/PHP]

    spero di esserti stato d'aiuto, non ti posto il codice completo perchè è un modulo per joomla 1.5 che sto scrivendo però la solfa è php, quindi lo spunto ce l'hai

    ciao