Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kategorie rekurencyjne
Forum PHP.pl > Forum > PHP
winiar789
Witam.
Panowie mam taką funckję.

  1.  
  2. function tree_id_product($id) {
  3. global $t;
  4. $wynik=array();
  5.  
  6. foreach($t as $element) if($element["kat_glowna"]==$id) $wynik[] = $element;
  7.  
  8. foreach($wynik as $key=>$element) {
  9.  
  10. echo "{$element["kategoria"]}";
  11. tree_id_product($element["id"]);
  12.  
  13. }
  14.  
  15. }
  16.  



Wszystko jest ok bo daje mi kategorie rekurencyjnie... Potrzbuje dodać dodać ( , ) przecinek między kategoriami.
czyli kategoria1,kategoria2,kategoria3

więc daję sobie echo "{$element["kategoria"]} , ";
wyszytko jest niby ok jednak na ostaniej kategorii mam też przecinek

kategoria1,kategoria2,kategoria3,

Jak mogę usunąć ten przecinek na ostatniej kategorii aby wyglądało to tak:

kategoria1,kategoria2,kategoria3

Z góry dziękuje za pomoc.





vermis
  1. $string = rtim($string,',');

Lub wrzuć do tablicy i na koniec zrób
  1. echo implode(','$tablica);
winiar789
No nietety ale taki sposób nie działa sad.gif
nospor
Nie dziala, bo z kodu co pokazales to ty dajesz przecinek i spacje.... Najpierw wiec rtrimem skasuj spacje a potem rtrimem skasuj przecinek.
winiar789
Dodałem takie coś i niestety wynik tego jest taki:

82,8584,87,8853,54,6940,51,52,58,77,83,142

czyli 82 ok

8584 powinnow wygladac tak 85,84

87 ok

8853 powinno byc 88,53

itd. itd.

  1. foreach($wynik as $key=>$element) {
  2.  
  3. $pokaz_id .= "{$element["id"]},";
  4. tree_id_product($element["id"]);
  5.  
  6. }
  7. $string_id = rtrim($pokaz_id,',');
  8. echo $string_id;
nospor
Ale rtrim masz robic po calej skonczonej rekurencji a nie w trakcie
winiar789
Nie za bardzo kumam bo np jak daje sobie to w funkcji tree_id_product(5);
to mi nie dziala jak daje w samej funkcji jak powyzej to ciągle mam jakies kwiatki.
nospor
Nie rozumiem co teraz napisales....

Tlumacze ci, ze rtrim masz zrobic gdy juz bedziesz mial wszystko. Zamiast robic echo, masz dopisywac to do globalnej zmiennej, i na samym koncu wszystkiego masz zrobic rtrim na tej globalnej zmiennej i dopiero wtedy ją sobie wyswietlic.
winiar789
Czy możesz mi napisać przykład

Dobra zrobiłem smile.gif)) wielkie wielkie dzięki
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.