Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]smarty - przekazanie tablicy do TPL ze zmienioną wartością.
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Witam Panowie , mam szybkie pytanie do was:

kod:
  1. while ($row = $sql->fetch()) {
  2. $tablica[] = $row;
  3. }
  4.  
  5. if($tablica[numerek]==1){$numerek = 'jeden'}
  6. else if($tablica[numerek]==2){$numerek = 'dwa'}
  7. etc
  8.  
  9. $smarty = new Smarty;
  10. $smarty->assign('tablica', $tablica);


teraz mamy w bazie pole "numerek" który w TPL byśmy odebrali tak:
  1. {foreach from=$tablica item=row}
  2. {$row.numerek}
  3. {/foreach}


Czy da się w php w pętli while przekazać zmieniony numerek na tekst?
Wiem, że w samym tpl mogę to zrobić, ale mi chodzi czy i jak zrobić to w samym php ?

Ten post edytował casperii 29.04.2017, 14:34:56
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




print_r($tablica);

a zrozumiesz ze kod
$tablica[numerek]==1
nie ma najmniejszego sensu.

No i moze zaczniesz w koncu wyswietlac wszystkie bledy?
Go to the top of the page
+Quote Post
casperii
post
Post #3





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Jakie błędy ?(IMG:style_emoticons/default/smile.gif) Przecież kod nic nie wyrzucił (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
com
post
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


bo sobie błędów nie walczyłeś, to nie wyrzucił, poleci notice ze nie ma 'numerek'
Go to the top of the page
+Quote Post
casperii
post
Post #5





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


@com , obsługę błędów mam włączoną:
  1. ini_set("display_errors", 1);
  2. ini_set("error_reporting",E_WARNING);
  3. ini_set("error_reporting",E_ALL);


Dobra, chyba sobie poradziłem, ale niech jeszcze sprawdzi to "sprawne oko" (IMG:style_emoticons/default/smile.gif)
  1. $i=0;
  2. while ($row = $sql->fetch()) {
  3. $tablica[] = $row;
  4. if($tablica[$i]['numerek'] == '1'){ $tablica[$i]['numerek'] = 'jeden';};
  5. $i++;
  6. }



Ten post edytował casperii 29.04.2017, 17:46:46
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




I po co tak komplikujesz? Nie mozesz tego numerek zapisac zanim dodasz do tablicy?

  1. while ($row = $sql->fetch()) {
  2.  
  3. if($row['numerek'] == '1'){ $row['numerek'] = 'jeden';};
  4. $tablica[] = $row;
  5.  
  6. }


I na przyszlosc nie zaciemniaj opisu oraz tytulu zbednymi rzeczami. Twoj problem nie ma nic wspolnego ze smarty

Cytat
obsługę błędów mam włączoną:
Jakbys mial wlaczona to w kodzie z pierwszego posta bys widzial minimum dwa bledy. Widac masz zle wlaczona (IMG:style_emoticons/default/wink.gif) Juz nie wspomne o tym ze masz tam 4 linijki kodu do obslugi bledow gdzie prawie kazda nadpisuje poprzednia.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 17:02