Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Zmiana wyświetlania
Forum PHP.pl > Forum > Przedszkole
tuptak6
Witam
Otóż znalazłem kod w którym chciałbym zamienić znaczniki <li>,<ul> na <table>,<tr>,<td>.
Chciałbym aby to wyglądało mniej więcej tak:

Kategoria1:
-SUB1 -SUB4 -SUB7
-SUB2 -SUB5 -SUB8
-SUB3 -SUB6 -SUB9

Oto mój kod:

  1. function category_list( $category_parent_id = 0 )
  2. {
  3. global $db;
  4. static $cats;
  5.  
  6. if ( ! is_array( $cats ) )
  7. {
  8. $cats = array();
  9. $sql = 'SELECT * FROM `category`';
  10. $result = $db->query($sql);
  11. while ( $cat = $db->fetch($result) )
  12. {
  13. $cats[] = $cat;
  14. }
  15. }
  16.  
  17. $list_items = array();
  18.  
  19. foreach ( $cats as $cat )
  20. {
  21.  
  22. if ( ( int ) $cat['category_parent_id'] !== ( int ) $category_parent_id )
  23. {
  24. continue;
  25. }
  26.  
  27. $list_items[] = '<li>';
  28.  
  29. $list_items[] = '<a href="#' . $cat['category_id'] . '">';
  30. $list_items[] = $cat['category_title'];
  31. $list_items[] = '</a>';
  32.  
  33. $list_items[] = category_list( $cat['category_id'] );
  34.  
  35. $list_items[] = '</li>';
  36.  
  37. }
  38.  
  39. $list_items = implode( '', $list_items );
  40.  
  41. if ( '' == trim( $list_items ) )
  42. {
  43. return '';
  44. }
  45.  
  46. return '<ul>' . $list_items . '</ul>';
  47.  
  48. }


Z góry dziękuje

Pozdrawiam arrowheadsmiley.png
memory

W czym problem? Zamieniasz znaczniki na prawidłowe
tuptak6
Chce osiąganąc taki efekt grupowania:

Cytat
Kategoria1:
-SUB1 -SUB4 -SUB7
-SUB2 -SUB5 -SUB8
-SUB3 -SUB6 -SUB9

czyli jakoś trzeba umieszczać </tr><tr> i <table>

a jak widzisz kod jest przystosowany pod li i ul.

Udało mi się osiągnąć mój cel, kod wygląda tak:

  1. function category_list( $category_parent_id = 0 )
  2. {
  3. global $db;
  4. static $cats;
  5.  
  6. if ( ! is_array( $cats ) )
  7. {
  8. $cats = array();
  9. $sql = 'SELECT * FROM `category`';
  10. $result = $db->query($sql);
  11. while ( $cat = $db->fetch($result) )
  12. {
  13. $cats[] = $cat;
  14. }
  15. }
  16.  
  17. $i = 1;
  18. $number = 3;
  19. $is = false;
  20.  
  21. foreach ( $cats as $cat )
  22. {
  23. if ( ( int ) $cat['category_parent_id'] !== ( int ) $category_parent_id )
  24. {
  25. continue;
  26. }
  27. // $cat = sortByOneKey($cat, 'category_desc',false);
  28. if ( $cat['category_parent_id'] == 0 )
  29. {
  30. echo '<tr><td style="background: red;" colspan="'.$number.'"><b>'.$cat['category_title'].'</b></td></tr>';
  31. $is = false;
  32. }
  33. else
  34. {
  35. if ($i % $number == 0)
  36. {
  37. echo '<tr>';
  38. $is = true;
  39. }
  40.  
  41. echo '<td>'.$cat['category_title'].'</td>';
  42.  
  43. if ($i % $number == $number -1)
  44. {
  45. echo '</tr>';
  46. $is = false;
  47. }
  48. }
  49. $i++;
  50. $list_items = category_list($cat['category_id']);
  51. }
  52. //if ($is) echo '</tr>';
  53. }


lecz gdy próbuje zamienić echo na $out .= wszystko się sypie.
Jest to dla mnie konieczna opcja gdyż w tej funkcji muszę mieć return.

Jeszcze raz proszę o pomoc. Pozdrawiam
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.