Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z while, wyświetla się 1 wpis zamiast kilku..
camelx
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Mam mały problem. Napisałem funkcję, która powinna mi wyśiwetlać listę kategorii pobranych z bazy danych. Wygląda mniej więcej tak:
  1. <?php
  2. function make_categories ($catDisplay = 'menu')
  3. {
  4. global $mresult;
  5.  
  6. $sql = "SELECT * FROM ". CATS_TABLE ." ORDER BY cat_id";
  7. if ( !($qresult = mysql_query($sql, $mresult)) ) error ('Nie mozna wybrac kategorii z bazy');
  8. while ($cat = mysql_fetch_array($qresult))
  9. {
  10. if ($catDisplay == 'menu')
  11. {
  12. $cat_list = links ('?c='.$cat['cat_id'], $cat['cat_desc']).'
  13. <hr />';
  14. }
  15. elseif ($catDisplay == 'list')
  16. {
  17. $cat_list = $cat['cat_desc'].'<br />';
  18. }
  19. }
  20. return $cat_list;
  21. }
  22. ?>

Niestety "echo make_categories()" wyśiwtla mi tylko ostatni wpis z bazy... To jest pewnie jakaś drobnosta, ale dziś mi trochę nie wychodzi myslenie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Czy ktoś wie może jak "naprawić" tą funkcję, żeby wyświetlała całą listę kategorii?

Ten post edytował camelx 4.01.2006, 21:01:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Zjadłes kropki. Powinno być .= bo inaczej zawsze wyświetli ostatnią kategorię. Dlatego, że za każdym obrotem pętli nadpisujesz zmienną $cat_list
  1. <?php
  2. function make_categories ($catDisplay = 'menu')
  3. {
  4. global $mresult;
  5.  
  6. $sql = "SELECT * FROM ". CATS_TABLE ." ORDER BY cat_id";
  7. if ( !($qresult = mysql_query($sql, $mresult)) ) error ('Nie mozna wybrac kategorii z bazy');
  8. while ($cat = mysql_fetch_array($qresult))
  9. {
  10. if ($catDisplay == 'menu')
  11. {
  12. $cat_list .= links ('?c='.$cat['cat_id'], $cat['cat_desc']) . '<hr />';
  13. // zjadłes kropki
  14. }
  15. elseif ($catDisplay == 'list')
  16. {
  17. $cat_list .= $cat['cat_desc'] . '<br />';
  18. // zjadłes kropki
  19. }
  20. }
  21. return $cat_list;
  22. }
  23. ?>

  1. <?php
  2.  
  3. echo make_categories();
  4.  
  5. ?>
Go to the top of the page
+Quote Post
camelx
post
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzięki.
Tak myslałem, że to jakaś drobnostka (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
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: 23.08.2025 - 23:25