[PHP]czysty php - problem z pętlą foreach w smartach, pokazuje pierwszy znak |
[PHP]czysty php - problem z pętlą foreach w smartach, pokazuje pierwszy znak |
20.11.2019, 10:37:33
Post
#1
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Panowie przejdę do rzeczy, otóż w czystych phpie mam kod który dziala:
natomiast już w smarcie pokazuje tylko pierwszy znak - wydaje mi się, że smarty odbiera to jako string a nie array i nie wiem jak zmusić w smartach by pokazywało całość:
ktoś pomoże ? Ten post edytował casperii 20.11.2019, 10:38:00 |
|
|
20.11.2019, 10:42:26
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Chyba dokumentacja sie klania...
nie item="value" a: item=value -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
20.11.2019, 10:48:05
Post
#3
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@nospor wydaje mi sie, że to nie ma większego znaczenia. Jak było tak jest nadal - tylko pierwszy znak
dodanie w foraech key="key"
daje na outpucie: imie => Jan a teraz J nazwisko => Kowals a teraz K Ten post edytował casperii 20.11.2019, 10:51:43 |
|
|
20.11.2019, 11:04:21
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
A pokaz caly kod bo mogles cos namieszac po drodze. Pokaz zarowno w php jak tworzysz te tablice i przypisujesz do smarty oraz calosc tego smarty bo widze masz tam petle jakas nad
ps: no skoro {$value} daje ci Jan to logiczne ze masz tam tylko tekst a nie tablice i ze {$value.imie} bedzie ci lecial po tekscie a nie po tablicy... ps2: takze cos mi sie wydaje ze zamiast {foreach from=$var.tablica item="value"} {$value.imie} <br> {/foreach} powinno byc poprostu {$var.imie} {$var.nazwisko} -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
20.11.2019, 11:15:06
Post
#5
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@nospor:
Ten post edytował casperii 20.11.2019, 11:36:18 |
|
|
20.11.2019, 11:19:09
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
nie
{foreach key="key" from=$var.tablica item=value} {$key} => {$value} --- {$value.imie} <br> {/foreach} a: {$var.tablica.imie} {$var.tablica.nazwisko} -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
24.11.2019, 22:55:55
Post
#7
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Dzięęęęęęęęękuje! jak zawsze bardzo mi pomogłeś
@nospor a jeszcze takie pytanie, a co jeśli w: {$var.tablica} mam więcej elementów (imion) ? to w jaki sposób mam to wyświetlić skoro foreachem mi pobiera tylko pierwszy znak ? |
|
|
25.11.2019, 07:14:45
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 828 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
@casperii
Nie wiem czy zauważyłeś, ale FOREACH to jest pętla, więc wyświetli ci wszystkie imiona które są w $var.tablica. |
|
|
25.11.2019, 12:33:48
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Cytat to w jaki sposób mam to wyświetlić skoro foreachem mi pobiera tylko pierwszy znak oj zes sie uczepil tego pierwszego znaku.... miales wtedy pierwsze znaki bo leciales po tekscie a nie tablicy. Sadzilem ze juz to przerobilismy.Skoro masz wiecej imion to jak je teraz dodajesz? Bo przeciez nei wkladasz wszystkie ciagle w index IMIE bo nadpisujesz jeden za drugim. Pokaz nowa strukture -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
26.11.2019, 14:52:30
Post
#10
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
@Tomplus to ja wiem co to jest foreach - i nawet tak miałem - tyko , że po przekazaniu do smarty (TPL) - chwyta mi to jako string i lecąc foreachem pokazuje mi pierwszą literkę.
Dobra zacznijmy od początku bym miał pewność , że dobrze rozumiem / robię to: PHP:
Uzyskujemy tablice: O ile w (powtórzę ponownie) czystym phpie działa tak przerzuceniu do tpl - nie działa jak trzeba. Zdaje sobie sprawę , że smarty ostatnią petlę widzi jako string a nie array - tylko czy w smartach istnieje konwersja stringa do array ?
|
|
|
26.11.2019, 15:56:47
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Juz ci mowilem: smarty widzic cos jako tekst, tylko dlatego ,ze tekst mu zapodajesz. Zrozum to w koncu. Nie zwalaja winy na smarty gdy sam nie ogarniasz za bardzo co masz
Kolejna sprawa: nie wkladaj BBCODE (pogrubienia) w kod php, bo tylko zaciemniasz kod.... Trzecia sprawa: nie podales jak to w smarty to obrabiasz No i poczwarte: nie, w php tez to ci nie dziala. Przechodzi ci ten kod w php, tylko dlatego ze czyste stare php jest mniej restrykcyjne niz smarty. W tym "czystym" php stworzyles niestety pare bledow Takze podsumowujac: przestan szukac w winy w smarty. Zacznij wpierw moze zrozumiec, jak wyglada twoja struktura danych, bo z tym masz niesamowity problem Dobra, zebym nei byl goloslowny
A o to poprawny kod php
Prosze, majac ten POPRAWNY kod php, moze w koncu bez problemu przeniesiesz to do smarty, bez tworzenia sztucznych pustych tablic itp I sprobuj tez zapamietac (a juz to przerabialismy w pierwszym kodzie z poczatku twojego tematu), ze nie pokazdej tablicy sie iteruje FOREACH. np tutaj: $value['kolor']['newId'] juz sie nie tworzy dodatkowego FOREACH jak to probowales nieudolnie zrobic. Jak znasz indeksy, ktore chcesz wyciagnac to FOREACH jest zbedny. FOREACH jest tyko dla danych DYNAMICZNYCH A, i jeszcze jedno bardzo wazne: Wlacz wyswietlanie wszystkich bledow -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 10:38 |