Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Kategorie rekurencyjne
winiar789
post 17.10.2013, 22:03:25
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


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.





Go to the top of the page
+Quote Post
vermis
post 17.10.2013, 22:52:05
Post #2





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

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


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

Lub wrzuć do tablicy i na koniec zrób
  1. echo implode(','$tablica);


--------------------
Go to the top of the page
+Quote Post
winiar789
post 17.10.2013, 23:31:03
Post #3





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


No nietety ale taki sposób nie działa sad.gif

Ten post edytował winiar789 17.10.2013, 23:31:21
Go to the top of the page
+Quote Post
nospor
post 18.10.2013, 07:39:35
Post #4





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Nie dziala, bo z kodu co pokazales to ty dajesz przecinek i spacje.... Najpierw wiec rtrimem skasuj spacje a potem rtrimem skasuj przecinek.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
winiar789
post 18.10.2013, 09:37:52
Post #5





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


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;
Go to the top of the page
+Quote Post
nospor
post 18.10.2013, 09:51:27
Post #6





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




Ale rtrim masz robic po calej skonczonej rekurencji a nie w trakcie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
winiar789
post 18.10.2013, 10:15:12
Post #7





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


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.
Go to the top of the page
+Quote Post
nospor
post 18.10.2013, 10:21:57
Post #8





Grupa: Moderatorzy
Postów: 36 441
Pomógł: 6290
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
winiar789
post 18.10.2013, 10:40:57
Post #9





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


Czy możesz mi napisać przykład

Dobra zrobiłem smile.gif)) wielkie wielkie dzięki
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 16.04.2024 - 09:00