- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- Ultimi post in home page php
-
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?
-
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
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