Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][SMARTY]Przypisanie zmiennej
Forum PHP.pl > Forum > Przedszkole
krispak
Witam. Mam pewien problem pewnie blachy ale nie moge sobie z tym poradzic sad.gif
Mianowicie chodzi o to ze mam dwie tabele admini i grupy. W tabeli admini mam id, grupa, imie itd natomiast w grupie mam id, nazwa grupy z czego id grupy jest przypisana do admin grupa i teraz chodzi o to ze gdy wypisuje rekordy z tabeli admini to w miejscu grupa wyswietla mi sie liczba tak jak jest w tabeli a chcialbym aby przypisywalo nazwe grupy.

W momencie gdy nie stosowalem smarty to poradzilem sobie z tym bez problemu, teraz gdy uzywam smarty problem sie pojawil bo nie przypisuje nazwy do danego admina tylko ciurkiem powiela jedna.

PHP
  1. <?php
  2. $admini = array();
  3.            
  4.            $usr = $db->Query(&#092;"SELECT * FROM admin\");
  5.            
  6.            while ($u = $usr->FetchArray())
  7.            {
  8.                $gru = $db->Query(&#092;"SELECT * FROM grupy WHERE Id = \".$u['Grupa'].\"\");
  9.                $g = $gru->FetchArray();
  10.                $grupa = $g['Grupa'];
  11.                $admini[] = $u;
  12.        
  13.            }
  14.            
  15.                
  16.            $smarty->assign('admini', $admini);
  17.            $smarty->assign('grupa', $grupa);
  18.            $smarty->display('user/usershow.tpl');
  19. ?>


SMARTY
  1. {foreach item=a from=$admini}
  2. <tr bgcolor="{cycle values="#f8fcff,#ffffff"}">
  3. <td>{$a.first_name} {$a.last_name}</td>
  4. <td>{$a.username}</td>
  5. <td><a href="mailto:{$a.email}">{$a.email}</a></td>
  6. <td>{$grupa}</td>
  7. </tr>
  8. {/foreach}


Z gory dziekuje za wszelka pomoc.
Pozdrawiam
_olo_1984
nie wiem czy Cię dobrze rozumiem, ale co ma do tego smarty ? Przecież efekt który podałeś spokojnie można zastąpić odpowiednim zapytaniem:
  1. SELECT a.*, g.nazwa_grupy FROM admin AS a LEFT JOIN grupy AS g ON (g.id=a.grupa)


zobacz co masz w tablicy, którą otrzymasz z tego zapytania,a potem w szablonie smarty

  1. {foreach item=a from=$admini}
  2. <tr bgcolor="{cycle values="#f8fcff,#ffffff"}">
  3. <td>{$a.first_name} {$a.last_name}</td>
  4. <td>{$a.username}</td>
  5. <td><a href="mailto:{$a.email}">{$a.email}</a></td>
  6. <td>{$a.nazwa_grupy}</td>
  7. </tr>
  8. {/foreach}
krispak
No tak problem rozwiazany zapytaniem do bazy.

Wielkie dzieki za pomoc i daje "Pomogl" smile.gif

Pozdrawiam
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.