Последни теми от форума - phpBB

Скрипт за показване на последните теми във форума.
Може да ограничавате броя на символите от всеки ред( ако ви разваля структурата на сайта).
Показва колко отговора има за всяка тема.
Показва дали е "Важна", "Съобщение" или "Заключена" .




<?

$user="user на базата данни";
$pass="pass на базата данни";
$db="име на базата данни";
$broi_temi="10";// Колко последни теми да показва
$broi_bukvi="35";//До колко букви от заглавието на темата да показва
mysql_connect(localhost,$user,$pass);
mysql_select_db($db) or die( "Unable to select database");
$query="SELECT topic_time , topic_title,forum_id,topic_id, topic_replies,topic_type from phpbb_topics ORDER BY topic_time ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();

$ii=$num-$broi_temi;
for ($i=$num-1; $i>$ii;$i--)
{
$tema=mysql_result($result,$i,"topic_title");
$id=mysql_result($result,$i,"forum_id");
$topic_broi=mysql_result($result,$i,"topic_replies");
$topic_id=mysql_result($result,$i,"topic_id");
$topic=mysql_result($result,$i,"topic_type");

if($topic=="1")
{$vazna='Важна:';}
elseif($topic=="2")
{$vazna='Съобщение:';}
elseif($topic_status=="1")
{$vazna='Заключена:';}
else
{$vazna='';}

if (strlen($tema)>$broi_bukvi)
{$totchki='...';}
else
{$totchki='';}

$tema=substr($tema,0 , $broi_bukvi);
echo" $vazna<a href='Пътя до папката на форума/viewtopic.php?t=$topic_id' >$tema$totchki ($topic_broi)</a><br/>";
}


?>



Ако не е ясен примера питайте във форума на http://web-tourist.net, защото тука няма кой да гледа!


Admin edit:

Кода работи но показва всички последни мнения във форума.
В случай, че има скрит форум( такъв който не трябва да се разглежда и не трябва да се знае, че съществува) ще покаже и неговите теми.
Поради тези причина съм написал друг (ползвайки части от горния):


<?

//phpBB - last topics
//Email: bobi@wthost.net
//Name: Bobi Haidar
// http://web-tourist.net



$user=""; //DB user
$pass=""; //DB pass
$db=""; //DB name
$broi_temi="20"; // Колко последни теми да показва
$broi_bukvi="35"; //До колко букви от заглавието на темата да показва
mysql_connect(localhost,$user,$pass);
mysql_select_db($db) or die( "Unable to select database");
$query="SELECT c.topic_time , c.topic_title,c.forum_id,c.topic_id, c.topic_replies,c.topic_type FROM phpbb_topics c, phpbb_forums f WHERE c.forum_id=f.forum_id and f.auth_view like '0' ORDER BY c.topic_time ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
$ii=$num-$broi_temi;


for ($i=$num-1; $i>$ii;$i--)
{
$tema=mysql_result($result,$i,"c.topic_title");
$id=mysql_result($result,$i,"c.forum_id");
$topic_broi=mysql_result($result,$i,"c.topic_replies");
$topic_id=mysql_result($result,$i,"c.topic_id");
$topic=mysql_result($result,$i,"c.topic_type");
if($topic=="1")
{$vazna='Важна:';}
elseif($topic=="2")
{$vazna='Съобщение:';}
elseif($topic_status=="1")
{$vazna='Заключена:';}
else
{$vazna='';}

if (strlen($tema)>$broi_bukvi)
{$totchki='...';}
else
{$totchki='';}

$tema=substr($tema,0 , $broi_bukvi);
echo" » $vazna<a href='Пътя до папката на форума/viewtopic.php?t=$topic_id' >$tema$totchki ($topic_broi)</a><br/>";
}


?>


Това е.
Вече няма да се виждат скритите форуми.
Ето DEMO.

А ето и отговор на въпроса на Maricha от форума:
"Та можете ли да ми кажете как да направя и да се показват категорията а не само името на Темата."


<?

//phpBB - last topics
//Email: bobi@wthost.net
//Name: Bobi Haidar
// http://web-tourist.net





$user=""; //DB user
$pass=""; //DB pass
$db=""; //DB name

$broi_temi="20"; // Колко последни теми да показва
$broi_bukvi="35"; //До колко букви от заглавието на темата да показва

mysql_connect(localhost,$user,$pass);
mysql_select_db($db) or die( "Unable to select database");
$query="SELECT c.topic_time , c.topic_title,c.forum_id,c.topic_id, c.topic_replies,c.topic_type,f.forum_name FROM phpbb_topics c, phpbb_forums f WHERE c.forum_id=f.forum_id and f.auth_view like '0' ORDER BY c.topic_time ";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
$ii=$num-$broi_temi;


for ($i=$num-1; $i>$ii;$i--)
{
$tema=mysql_result($result,$i,"c.topic_title");
$id=mysql_result($result,$i,"c.forum_id");
$topic_broi=mysql_result($result,$i,"c.topic_replies");
$topic_id=mysql_result($result,$i,"c.topic_id");
$topic=mysql_result($result,$i,"c.topic_type");
$cat=mysql_result($result,$i,"f.forum_name");

if (strlen($tema)>$broi_bukvi)
{$totchki='...';}
else
{$totchki='';}

$tema=substr($tema,0 , $broi_bukvi);
echo" » $cat: <a href='Пътя до папката на форума/viewtopic.php?t=$topic_id' >$tema$totchki ($topic_broi)</a><br/>";
}


?>


Ето DEMO



За коментари и въпроси тук:
http://www.web-tourist.net/forum/viewtopic.php?t=435


Урокът е подготвен от http://web-tourist.net









/ Трябва да сте регистриран за да напишете коментар /
От: ReD_z0n3
23:32 21-06-2010
Първия код работи отлично .
1