Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Smarty i brak wartości
emajl22
post
Post #1





Grupa: Zarejestrowani
Postów: 273
Pomógł: 21
Dołączył: 28.11.2010

Ostrzeżenie: (10%)
X----


Mam coś takiego:

  1. while ($x = mysql_fetch_assoc($all_x)) {
  2.  
  3. $x_tab[] = $x;
  4.  
  5. $x_name = codeUrl($x['name']);
  6. $smarty->assign('X_NAME', $x_name);
  7.  
  8. }
  9. $smarty->assign('ALL_X', $x_tab);


i w szablonie:

  1. {foreach item="n1" from="$ALL_X"}
  2. <a href="cos/{$X_NAME}">{$n1.name}</a>
  3. {/foreach}


Problem w tym, że {$X_NAME} pokazuje mi wartość ostatnie rekordu, a nie wg. pętli...
Jak dam echo codeUrl($x['name']); w skrypcie php to działa.. czyli tak jakby brakuje tu pętli jakiejś, ale nie wiem jakiej.

proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wmatusiak
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 7
Dołączył: 27.03.2011
Skąd: Kęty

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


ALL_X przekazujesz poprawnie jako tablice ale X_NAME nadpisujesz przy każdym wykonaniu pętli czyli masz tylko ostatnią wartość bo renderowanie widoku jest dopiero potem.
Ja bym zrobił tak zapisał sobie w jednej tablicy obie wartości powiązane ze sobą i potem w smarty foreach po tej tablicy w każdym przejściu masz obie wartości.
zrób tak:
  1. $tab = Array();
  2. while ($x = mysql_fetch_assoc($all_x)) {
  3. $tab[] = Array(
  4. 'name' => $x['name'],
  5. 'url' => codeUrl($x['name']));
  6. }
  7.  
  8. $smarty->assign('ALL_X', $tab);

Smarty
Kod
{foreach item="n1" from="$ALL_X"}
    <a href="cos/{$n1.url}">{$n1.name}</a>
{/foreach}
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 12:22