phpBB3: ostatnie X tematów z forum
05 lipca 2008
Realizując jakiś czas temu jedno ze zleceń musiałem:
- zainstalować forum phpBB3
- wyświetlić na głównej stronie kilka ostatnich tematów

Pierwszego opisywać nie zamierzam
Natomiast z drugim był nieoczekiwany problem. Tzn. oczywiście nie ma nic trudnego w wyciągnięciu paru informacji z bazy danych. Tylko mi się nie chciało analizować tabel, chciałem szybko znaleźć coś w google.pl, wstawić na stronę i zapomnieć.
Niestety okazało się, że nie będzie tak łatwo. Rozwiązania dotyczyły albo phpBB2 albo nie działały albo były niewyobrażalnie przerośnięte.
W końcu coś znalazłem... Poprawiłem kod, oto on:
-
<?
-
// Prefiks tabel w naszej bazie danych.
-
$prefiks = 'forum_';
-
-
// Liczba okresla ile ostatnich tematow ma zostac wyciagnietych z bazy danych.
-
$ilosc_tematow = 6;
-
-
// Dlugosc tematu. Jezeli ta liczba zostanie przekroczona to nazwa tematu zostanie skrocona aby nie "zepsuc" nam HTML'a.
-
$dlugosc = 25;
-
-
-
extract(mysql_fetch_array(mysql_query('SELECT config_value FROM '.$prefiks.'config WHERE config_name = \'server_name\' LIMIT 1')));
-
-
$sql=mysql_query('SELECT * FROM '.$prefiks.'topics WHERE topic_approved = 1 ORDER BY topic_last_post_time DESC LIMIT 0, '.$ilosc_tematow);
-
-
-
$nazwa_forum = mysql_fetch_row(mysql_query('SELECT forum_name FROM '.$prefiks.'forums WHERE forum_id = '.$forum_id));
-
-
-
echo '<a href="http://'.$config_value.'/forum/viewforum.php?f='.$forum_id.'" target="_blank">'.$nazwa_forum[0].':</a> <a href="http://'.$config_value.'/forum/viewtopic.php?f='.$forum_id.'&t='.$topic_id.'&p='.$topic_last_post_id.'#p'.$topic_last_post_id.'" target="_blank">'.$topic_title.'</a> wyświetleń: '.$topic_views.', odpowiedzi: '.$topic_replies.', autor: '.$topic_first_poster_name.', ostatnia odpowiedź: '.$topic_last_poster_name.' '.$date.'<br />';
-
}
-
?>
Kod można byłoby jeszcze poprawić (nie podoba mi się to extract() ) ale już mi się nie chciało
Używając tego rozwiązania pamiętaj aby zmodyfikować kod HTML, dostosować go do własnych potrzeb. Ja potrzebowałem wyświetlić tylko nazwę tematu w postaci linku i autora ostatniej odpowiedzi. Powyżej dałem więcej możliwości aby każdy mógł sam sobie wybrać co chce wyświetlić.
Oczywiście aby kod zadziałał, wcześniej musimy połączyć się z bazą danych
Zaznaczam, że kod nie jest mój. Znalazłem go gdzieś w Internecie, nie był podpisany. Wprowadziłem pewne zmiany, poprawiłem, przetłumaczyłem komentarze i nazwy kilku zmiennych.
Blog przede wszystkim o Internecie i mojej pasji jaką jest tworzenie stron www. Ale nie ograniczam się do jednej tematyki, piszę o wszystkim o czym mam ochotę :-)
HSCharles napisał: 15.11.08 o godzinie 9:49
I have a flash website
i’m looking for the script who shows google ads on flash.
where can i get it?
MariuszT napisał: 15.11.08 o godzinie 13:13
The Google crawler can’t read the content of the Flash page. I read that Google and Adobe are working to resolve this problem, but I don’t know what they’ve already done. You could put JavaScript in Flash but no ads will appear.
Gloo napisał: 08.02.09 o godzinie 5:01
Ratujesz życie
ox napisał: 05.10.09 o godzinie 16:52
gdzie wpisac dane swojego forum w ten kod?
MariuszT napisał: 05.10.09 o godzinie 17:19
Jakie dane masz na myśli? Połączeniem z bazą danych musisz się zająć sam, przed kodem.
ox napisał: 05.10.09 o godzinie 18:03
host, uzytkownika, haslo bazy itd…przed kodem tzn? nie rozumiem
nie jestem oblatant w php i prosze jasniej
ox napisał: 05.10.09 o godzinie 18:04
*oblatany
MariuszT napisał: 05.10.09 o godzinie 20:19
Kolego, jaśniej się nie da. Nie oczekuj ode mnie gotowca. Musisz połączyć się z bazą danych ale nie wiem jak u Ciebie wygląda komunikacja z bazą więc nie mogę Ci bardziej pomóc.
Amas napisał: 01.01.10 o godzinie 21:38
Dzięki ogromne, kod się przydał