Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql] Forum, pomocy z wyświetlaniem...
Lisek54
post 18.09.2006, 20:11:12
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 6.12.2004
Skąd: Miastko

Ostrzeżenie: (0%)
-----


Witam,

Nie wiedziałem jak napisać forum, dlatego przepisałem przykład z książki...
Dodawanie, oraz administracja mojej roboty działa, problem zaczyna się przy wyświetlaniu... Wpisy pojawiają się, ale w innej postaci:

- , ,
- , ,

I każdy wpis tak wygląda... No więc pokazuje kod:

  1. <?
  2.  
  3.  <H2>Forum dyskusyjne</H2><br />
  4. <A HREF="forum.php">Wszystkie posty</A>, 
  5. <A HREF="forum_dodaj.php">Wyślij nowy post</A><HR>
  6.  ';
  7.  
  8.  
  9.  global $fref; global $fdata; global $fosoba; global $ftytul;
  10. // Wyświetlanie forum dyskusyjnego. Jeżeli jest podany numer postu,
  11.  // wyświetla się on i jego odpowiedzi. Jeżeli nie - całe forum.
  12.  
  13. function wypiszforum ($nr) {
  14. // Funkcja rekurencyjnie wyświetla wszystkie rekordy, będące poniżej
  15. // w hierarchii postów (czyli odpowiedzi, odpowiedzi na odfpowiedzi, 
  16. // itd...
  17. global $fref; global $fdata; global $fosoba; global $ftytul; 
  18. print "<UL>";
  19. for ($i=count($fref); $i>=1; $i--) {
  20. if ($fref[$i] == $nr) { 
  21. print '<LI><A HREF="forum.php?nr='.$i.'">'.$ftytul[$i].'</A>, '.
  22. '<I>'.$fosoba[$i].', '.$fdata[$i].'</I>'; 
  23. wypiszforum ($i); 
  24. }
  25. }
  26. print "</UL>";
  27. }
  28.  
  29. $nr = $_GET['nr'];
  30. if ($nr>0) {  // chcemy wyświetlić post
  31. $wynik = mysql_query ("SELECT osoba, tytul, tresc, data ".
  32. "FROM forumdyskusyjne WHERE nr=$nr");
  33. if ($wynik && $rekord = mysql_fetch_array ($wynik)) {  // i ten post jest
  34. $tresc = $rekord[2]; $tytul = $rekord[1];
  35. print "<H3>$rekord[1]</H3>";
  36. print "<P>wysłany przez <B>$rekord[0]</B>, <B>$rekord[3]</B>:";
  37. print "</P><P>$rekord[2]</P><HR>";
  38. print "<A HREF="forum_dodaj.php?ref=$nr">Wylij odpowiedź</A><HR>";
  39. } else {
  40. $nr = 0;
  41. }
  42. } else { $nr = 0; }
  43.  
  44. // odczyt danych, które będą wykorzystane w funkcji rekurencyjnej
  45. $wynik = mysql_query ("SELECT nr, osoba, tytul, data, ref ".
  46.  "FROM forumdyskusyjne");
  47. while ($wynik && $rekord = mysql_fetch_assoc ($wynik)) {  
  48. $fref[$rekord['nr']] = $rekord['ref'];
  49. $fdata[$rekord['nr']] = $rekord['data'];
  50. $ftytul[$rekord['nr']] = $rekord['tytul'];
  51. $fosoba[$rekord['nr']] = $rekord['osoba'];
  52. }
  53.  
  54. // wypisanie postów potomnych - rekurencja
  55. wypiszforum ($nr);
  56. ?>


Pozdrawiam...


--------------------
MP3: Ocean, Bracia, DKA, Arash, Energy
Warsztat: Apache2, PHP4, MySql, Linux Mandriva/Microsoft Windows XP
Zajęcia: Administrator serwera UT, prowadzenie kilku stron, pisanie małych skryptów dla rozrywki...
Cytat: "Co by człowiek chciał to zajęte..." - Kolega z ławki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 08:56