1

Temat: 10 ostatnich tematów i newsy z forum w serwisie

Ten skrypt wyciągnie ostatnie tematy z forum na stronę główną witryny. Można go dowolnie skonfigurować.

// tutaj podaj adres forum
$forum='./forum/';
// tutaj napisz ile ostatnich tematów ma być wyciąganych
$ile='10';
$db_config=$forum.'config.php';
  if (file_exists($db_config)) {
include($db_config);
$sql=mysql_connect ($db_host,$db_username,$db_password);
mysql_select_db($db_name);

$pobierz_najnowsze="SELECT
                        subject,
                        last_post,
                        id
                    FROM
                        punbb_topics
                    WHERE
                        last_post <= ".time()."
                    ORDER BY
                        last_post DESC
                    LIMIT
                        0,".$ile;
$wykonaj_najnowsze=mysql_query($pobierz_najnowsze);
while ($tematy = mysql_fetch_array($wykonaj_najnowsze)):
echo "<a href=\"".$forum."viewtopic.php?id=".$tematy["id"]."\">".$tematy["subject"]."</a><br />";
endwhile;

mysql_close($sql);
  }

Ten skrypt wyciąga newsy z wybranego działu forum.

// tutaj podaj adres forum
$forum='./forum/';
// tutaj napisz ile ostatnich tematów ma być wyciąganych
$ile='10';
// id forum z którego pobierać newsy
$forum_id='1';
$db_config=$forum.'config.php';
  if (file_exists($db_config)) {
include($db_config);
$sql=mysql_connect ($db_host,$db_username,$db_password);
mysql_select_db($db_name);
$pobierz_news="SELECT
                        t.id AS tid,
                        t.poster,
                        t.subject,
                        t.num_replies,
                        p.message,
                        u.id AS uid,
                FROM
                        punbb_topics t,
                        punbb_posts p,
                        punbb_users u
                WHERE
                        forum_id = ".$forum_id."
                AND
                        p.topic_id = t.id
                AND
                        u.username = t.poster
                AND
                        p.posted = (select min(c.posted) from punbb_posts c where c.topic_id = p.topic_id)
                ORDER BY
                        p.posted DESC
                LIMIT
                        0,".$ile.";";
$wykonaj_news=mysql_query($pobierz_news);
while ($news=mysql_fetch_array($wykonaj_news)):
$text=$news["message"];
echo (".$news["subject"]."
<br />
".$text."
<br />
<a href=\"".$forum."viewtopic.php?id=".$news["tid"]."\">ilo?ć komentarzy: ".$news["num_replies"]."</a>
 | <a href=\"".$orum."post.php?tid=".$news["tid"]."\" >dodaj komentarz</a>
");
endwhile;
mysql_close($sql);

Mam nadzieję, że to rozwiąże część problemów i zapobiegnie niektórym pytaniom. xD

http://signer.idn.net.pl/static/Louner.png

2

Odp: 10 ostatnich tematów i newsy z forum w serwisie

Ja tylko zapytam czy ktos wczesniej aby tego nie zrobil?

Żyj tak, jakbyś miał umrzeć jutro. Ucz się tak, jakbyś miał żyć wiecznie. ~Mahatma Gandhi
PunBB | Simple Machines Forum

3

Odp: 10 ostatnich tematów i newsy z forum w serwisie

Pokazuje najbardziej aktywne wątki z wszystkich for:
include(?host.com/forums/extern.php?action=active?);

Pokazuje 10 najnowszych postów z for o ID 5, 6 oraz 7:
include(?host.com/forums/extern.php?action=new&show=10&fid=5,6,7?);

Pokazuje użytkowników online:
include(?host.com/forums/extern.php?action=online?);

Pokazuje użytkowników online z pełną listą:
include(?host.com/forums/extern.php?action=online_full?);

Pokazuje statystyki forum:
include(?host.com/forums/extern.php?action=stats?);

host.com/forums zamieniamy na adres do naszego forum (np. http://strona.pl/forum)

Pozdrawiam
Mateusz Wojnarowski

4

Odp: 10 ostatnich tematów i newsy z forum w serwisie

Nie wiem gdzie to napisać więc napisze tutaj. Ten kod z extern.php ma mieć taką postać ?

<?php
include('http://www.mojastrona.pl/forum/extern.php?action=new&show=10&fid=1,2,3');
?>

I to należy wkleić w odpowiednie miejsce na stronie serwisu, czy tak ? Bo jeśli tak to coś mi nie działa...

Ostatnio edytowany przez Venitar (2007-06-15 22:24:24)

Kiedyś zadawałem głupie pytania... Teraz też zadaję, ale dzięki pewnym osobom już wiem, jak mądrzejsi ode mnie na takie pytania reagują big_smile.

5

Odp: 10 ostatnich tematów i newsy z forum w serwisie

strona musi miec rozszerzenie php ;>

Pozdrawiam
Mateusz Wojnarowski

6

Odp: 10 ostatnich tematów i newsy z forum w serwisie

W sensie strona na której to zamieszczam tak ? No to ma takie rozszerzenie i nadal nie działa. Czy ten kod ma tylko tak wygladać czy należy wstawić coś przed, za, cokolwiek ?

Edit:
A co ciekawe to niedość, że skryptu nie wykonuje, to jeszcze nic z kodu strony nie wgrywa, co znajduje się później jak ten skrypt. No i to dziwne, bo inne skrypty php jakoś działają...

Edit2:
Poszukałem na forum punbb.org i znalazłem rozwiązanie:

<?php
$cp = curl_init("http://nazwastrony.pl/forum/extern.php?action=new&show=10");
curl_exec($cp);
?>

http://www.psionika.nazwa.pl - z tym, że teraz wyświetla mi te wielkie białe kropy obok tematów - jak je zamienić na myślniki albo kropeczki małe ? Domyślam się, że będzie to zapisane w extern.php ale dopiero zaczynam swoją przygodę z PHP więc za bardzo nie wiem gdzie szukać.

@down
Fachowo to się nazywa "znaki wypunktowania" smile. Ale dobra, już działa co ma działać.

Ostatnio edytowany przez Venitar (2007-06-16 15:22:44)

Kiedyś zadawałem głupie pytania... Teraz też zadaję, ale dzięki pewnym osobom już wiem, jak mądrzejsi ode mnie na takie pytania reagują big_smile.

7

Odp: 10 ostatnich tematów i newsy z forum w serwisie

nie wiem gdzie ty widzisz te kropki jak teraz jest wszystko ok ???? hmm

8

Odp: 10 ostatnich tematów i newsy z forum w serwisie

U mnie żaden ze skryptów / sposobów nie działa, niezależenie czy podaje cały adres forum, czy ../forum/ czy używam include, czy tego drugiego sposobu, zawsze jest jakiś błąd np.:

po zastosowaniu tego co napisał Lounder w 1 poście nie wyświetla się nic - tam gdzie miała być lista jest pusto
natomiast jeżeli podam ścieżkę ../forum/ to wyświetla mi:

Warning:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/accounts_m/matteo/public_html/demo/right.php on line 43

kiedy stosuję tę metodę

<?php include(?http://strona.pl/forum/extern.php?action=new&show=2'); ?>

otrzymuję w ogóle błąd parsowania XML i strona w ogóle się nie wyświetla

<?php
$cp = curl_init("http://nazwastrony.pl/forum/extern.php?action=new&show=10");
curl_exec($cp);
?>

natomiast na powyższy kod, strona reaguje następująco: (w IE, w FF też błąd parsowania XML: nie znaleziono elementu)

Fatal error: Call to undefined function curl_init() in /home/accounts_m/matteo/public_html/demo/right.php on line 21

więc ktoś może zna jakąś poprawną metodę/porządny skrypt żeby wyświetlić ostatnich 10 tematów w kórych pały odpowiedzi?

9

Odp: 10 ostatnich tematów i newsy z forum w serwisie

Po bojach udało mi sie okiełznać skrypt Lounera i działa, ale nadal mam pewne problemy - nie wyświetla polskich znaków (mam określone kodowania we wszystkich stronach, na samym forum, też mam polskie znaki). Druga sprawa to nie wiem, jak zrobić by najnowsze wątki wyświetlały się w jako lista (no wiecie <ul><li>link do tematu</li></ul>)

problem ze znakami rozwiązany - strona jest zakodowana do UTF< musiałem przekonwertować forum do utd z iso (na szczście na razie nie ma żadnych postów)

Wciąż jednak będę wdzięczny za poradę w sprawie tego jak zrobić listę nieuporządkowaną w której będą się wyświetlały linki do tych tematów.

Ostatnio edytowany przez mati (2007-08-12 20:34:40)

10

Odp: 10 ostatnich tematów i newsy z forum w serwisie

prooosze czy ktoś może mi pomóc z tym jak zrobić z tych tematów wypunktowaną listę?

edit: nareszcie po samodzielnych męczarniach udało się! szkoda, ze nie jestem dobry skryptowaniu/pisaniu ile czasu bym zaoszczędził... oto rozwiązanie:

<ul class=\"klasalisty\"><li><a href=\"".$forum."viewtopic.php?id=".$tematy["id"]."\">".$tematy["subject"]."</a></li></ul>

Ostatnio edytowany przez mati (2007-08-27 17:21:53)