Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Problem newsy
Zawiej
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.08.2008

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


Witam mam problem, piszę takie coś w stylu mini cms na informatykę.. mój szablon jest dość nietypowy bo wygląda: http://iv.pl/images/n86bfpq1ftgqegll3cx4.jpg . Natomiast problem jest kiedy chcę zamienić tag [news] na funkcję która pobierze newsy z bazy i je wyświetli.

  1. function panel($nazwa_panelu, $tresc_panelu)
  2.  
  3. {
  4.  
  5. if(eregi(preg_quote("[news]"), $tresc_panelu))
  6. {
  7. $news = '';
  8.  
  9.  
  10. $p=mysql_query("SELECT * FROM cms_news order by id DESC");
  11. while($projekt = mysql_fetch_array($p))
  12. {
  13. $n = $projekt['tytul'].'<p>'.$projekt['tresc'].'</p><p>Wykonany: '.$projekt['data'].' przez <b>'.$projekt['autor'].'</b></p>';
  14.  
  15. }
  16. $news = panel($nazwa_paneu, $news);
  17.  
  18. $tresc_panelu = eregi_replace(preg_quote("[news]"), $n, $tresc_panelu);
  19.  
  20. }
  21.  
  22.  
  23.  
  24. // Wyswietlanie paneli :)
  25. return '<h2 class="trigger"><a href="">'.$nazwa_panelu.'</a></h2><div class="toggle_container"><div class="block"><p><h3><small>'.$nazwa_panelu.'</small></h3>'.$tresc_panelu.'</p></div></div>';
  26.  
  27. }
  28. // wstawianie ramek :]
  29.  
  30.  
  31. function wstaw_panel(){
  32. $qry=mysql_query("SELECT nazwa, tresc FROM cms_dzialy ORDER BY pozycja DESC");
  33. while($ramka = mysql_fetch_array($qry))
  34. {
  35. echo panel($ramka['nazwa'], $ramka['tresc']);
  36. }
  37. }


Domyślam się że $n przekazuje tylko jedną wartość i to dlatego wyświetla się tylko 1 news... prosze o pomoc...

Pozdrawiam Zawiej
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
newbbbie
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 4.03.2009

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


Witaj,

A gdzie masz funkcję zliczającą liczbę wierszy?? nie jestem specjalistą php, ale brakuje mi tu funkcji mysql_num_rows... zwraca Ci ona ilość wierszy, później wrzucasz wszystko w for'a i będzie działać (IMG:style_emoticons/default/smile.gif)

pozdrawiam
Go to the top of the page
+Quote Post
Zawiej
post
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.08.2008

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


niestety :/ nie pomogło..
wydaje mi się że problem leży właśnie w tej linijce bo ona przerabia [news] na zawartość zmiennej $num, i wyświetla jeden wynik.. a więc co zrobić aby było dobrze..

  1. $p= mysql_query("SELECT * FROM cms_news order by id DESC");
  2.  
  3. while($projekt = mysql_fetch_array($p))
  4. {
  5.  
  6. $num = $projekt['tytul'].'<p>'.$projekt['tresc'].'</p><p>Wykonany: '.$projekt['data'].' przez <b>'.$projekt['autor'].'</b></p>';
  7.  
  8.  
  9. }
  10. $tresc_panelu = eregi_replace(preg_quote("[news]"), $num, $tresc_panelu);


ma ktoś jeszcze jakieś pomysły?

Ten post edytował Zawiej 8.01.2010, 19:57:14
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 17.09.2025 - 21:11