Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z while
Forum PHP.pl > Forum > Przedszkole
camelx
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 smile.gif

Czy ktoś wie może jak "naprawić" tą funkcję, żeby wyświetlała całą listę kategorii?
mike
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. ?>
camelx
Działa smile.gif Dzięki.
Tak myslałem, że to jakaś drobnostka winksmiley.jpg
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.