Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ostatnie posty
Forum PHP.pl > Forum > Przedszkole
Domin
Jak powinien wyglądać skrypt prezentujący 5 ostatnich postów na forum dyskusyjnym. Z góry wielkie dzięki.
Vengeance
1. powinienes polaczyc sie z baza danych
2. pobrac przez zapytanie SELECT posty/wątki i dodac LIMIT 5 co
ograniczy wynik do 5 postow/watkow.
3. wyswietlic

ps. czy bedziesz tu pisal tylko z prosbami o gotowce ?
dr_bonzo
Pobierasz z bazy daych z postami 5 postow z najwieksza (tzn. najnowsza) data dodania i wyswietlasz.
Domin
Ale jak powinien wyglądać skrypt. Bo ja się dopiero uczę pomału programowania w php.
dr_bonzo
a masz juz skrypt forum?
Domin
Mam forum phpBB już działa
Vengeance
po 1. na google powinienes znalesc.
po 2. jest php.net
po 3. sa kursy php
po 4. sa kursy php + mysql
po 5. dostales wskazowki co trzeba robic

teraz sie do nich dostosuj i bedziesz mial SWOJ skrypt i bedzie mozna ci poklaskac. a gotowca raczej nie dostaniesz
Domin
Co tu jest źle że mi nie działa?

  1. <?php
  2. // informacje dotyczace bazy danych
  3. $sql['host'] = 'localhost';
  4. $sql['login'] = 'domin_phpbb3';
  5. $sql['password'] = 'moje hasło';
  6. $sql['db'] = 'domin_phpbb3';
  7.  
  8. // polaczenie z baza danych
  9. mysql_connect($sql['host'],$sql['login'],$sql['password']);
  10. mysql_select_db($sql['db']);
  11.  
  12. // nazwa tabeli w ktorej znajduja si? tematy
  13. $tab['forum_topics'] = &#092;"phpbb3_topics\";
  14.  
  15. $limit['forum_topics'] = 5; // ilosc wyswietlanych tematow
  16. $limit['forum_signs'] = 25; // dopuszczalna ilosc liter
  17.  
  18. $path['forum'] = &#092;"http://www.forum.lkslochow.net/\"; // lokalizacja katalogu z forum
  19.  
  20. // zapytanie do bazy
  21. $sql_query = &#092;"SELECT topic_id, topic_title FROM \".$tab['forum_topics'].\" ORDER BY topic_id DESC LIMIT \".$limit['forum_topics'].\"\" or die (\"Nie można wykonać zapytania\");
  22. $result = mysql_query($sql_query) or die (&#092;"Nie można wykonać wyniku\");
  23.  
  24. // wyswietlanie rekordow
  25. while($row = mysql_fetch_array($result))
  26. {
  27. $length = strlen($row['topic_title']); // sprawdzanie dlugosci tytulu
  28. $row['topic_title'] = substr ($row['topic_title'], 0, $limit['forum_signs']); // obcinanie
  29. ?>
  30. - <A href=\"<?php echo $path['forum']; ?>viewtopic.php?p=<?php echo $row['topic_id']; ?>\"><?php echo $row['topic_title']; if($length > $limit['forum_signs']) { echo &#092;"...\"; } ?></A><BR>
  31. <?php
  32. }
  33. ?>


---
Prosze uzywac [php] do umieszczania kodu php
hwao
Vengeance
moze powiesz z laski swojej czemu nie dziala ? co sie pokazuje ktora linia itd. itp.

puki co podejrzewam że w
$tab['forum_topics'] = "phpbb3_topics";
jest niepoprawna nazwa tabeli. edytowałeś to wg własnego forum?
Domin
Tak bo nazwa tabeli jak weszłem do bazy jest phpbb_topics. Sory w kodzie pomyliłem się i tam wpisałem phpbb3_topics.

Jak chcesz zobaczyć co się dzieje to wejdz na www.lkslochow.net/foru.php
Vengeance
zle dane w mysql_connect() masz po czym cala reszta tez sie sypie.
Domin
Jaką poprawkę trzeba wprowadzić aby przy wyświetlaniu ostatnich postów odnośnik do przykładowego posta wyglądał tak:
http://www.forum.lkslochow.net/viewtopic.php?t=42
a nie tak:
http://www.forum.lkslochow.net/viewtopic.php?p=42
Bo ten pierwszy nie działa.
Vengeance
  1. <A href=\"<?php echo $path['forum']; ?>viewtopic.php?p=<?php echo $row['topic_id']; ?>\"><?php echo $row['topic_title']; if($length > $limit['forum_signs']) { echo &#092;"...\"; } ?></A>


Tu to jest. wystarczy jeden znaczek zamienic. Jest to tak banalne i logiczne ze sam nei wiem z czym miales problem.
Domin
Gdzie muszę dodać instrukcję topic_replies aby po tytule postu wyświetlał ilość odpowiedzi na dany post w nawiasie kwardratowym np.
- pozdrowienia [5]

A i jeszcze jedno jak tą kreseczkę przed postem zamienić np. na kropkę lub jakiegoś gifa?
rogrog
może odpowiem zanim zadasz kolejne pytania

  1. - <A href=\"<?php echo $path['forum']; ?>viewtopic.php?p=<?php echo $row['topic_id']; ?>\"><?php echo $row['topic_title']; if($length > $limit['forum_signs']) { echo &#092;"...\"; } ?></A><BR>


to jest linijka która odpowiada za wyświetlenie pojedynczego linka. Właśnie w niej musisz wprowadzić swoje zmiany.

Aby wyświetlić ilość odpowiedzi w nawiasach kwadratowych wpisz cos takiego
  1. [<?php echo $row['topic_replies']; ?>]
w tym miejscu tej linijki, w którym chcesz żeby ta informacja się pojawiała.

PS. Na przyszłość sam staraj się rozszyfrować skrypt. Nie widziałem chyba jeszcze na tym forum pytań o aż tak oczywiste i logiczne rzeczy...
czachor
nie ma, bo przecież nie pobierasz tej informacji z bazy...
  1. <?php
  2. $sql_query = &#092;"SELECT topic_id, topic_title, topic_replies FROM itd.....\";
  3. ?>


eeee... coś zniknęło :? Dodaj 'topic_replies' do zapytania (tak jak podałem wyżej)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.