Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wstawianie wyniku ze smarty do PHP
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie,
Mam taki kod:
  1. {if $lista_produktow}
  2. {foreach from=$lista_produktow item=lista_produktow}
  3. {strip}
  4. <div class="ramka">
  5. $logo = null;
  6. $idkategorii = null;
  7. $db_user = "user";
  8. $db_pass = "pass";
  9. $db_host = "sql.nazwa.nazwa.pl";
  10. $db_name = "baza";
  11. mysql_connect($db_host, $db_user, $db_pass);
  12. mysql_select_db($db_name);
  13. $wykonaj = mysql_query ("SELECT * FROM sklep_produkty WHERE id='$lista_produktow.id' ;");
  14. while($wiersz=mysql_fetch_array ($wykonaj)){
  15. $idkategorii = $wiersz['podkategoria'];
  16. }
  17. </div>

Problem mam z tym zapytaniem SQL - php nie widzi wartości zawartej w $lista_produktow.id :-(
Ma ktoś może pomysł jak to rozwiązać?

Z góry dziękuję za pomoc,
Northwest
nospor
1) A od kiedy w kodzie smarty od tak sobie można używać php?

2) Smarty służy do wyświetlenia danych a nie ich pobierania.... dane z bazy masz pobrać w php i z php wszystko co potrzebujesz przekazać do smarty.
matiit
Teoretycznie masz coś takiego:
http://www.smarty.net/docsv2/en/language.function.php.tpl

Ale to nie jest polecane, są z tym problemy itd.
Poza tym to nie jest "good way".
W ogóle smarty to nie jest "good way" w tych czasach.
northwest
kurcze,wiem sad.gif muszę tylko 1 rzecz przerobić - a projekt jest tak zagmatwany że nie moge nic znaleźć sad.gif
Te php wmontowane {php} działa poprawnie... tylko nie wiem jak przekazać ze zmiennej SMARTY do tego php właśnie wartości sad.gif
nospor
Skoro już tak bardzo musisz, to poczytaj trochę jak sie w smarty dobierac do jego zmiennych.

W kodzie php wewnątrz smarty nie istnieją zmienne dostępne od tak w smarty. W takim kodzie do zmiennych smartiego dobierasz się przez
$this->_tpl_vars['zmienna_dostepna_w_smarty']

ewentualnie tak:
http://www.smarty.net/docs/en/api.get.template.vars.tpl
czyli w {php}
$this->getTemplateVars('zmienna');
northwest
chyba nie bardzo działa sad.gif
zrobiłem: echo $this->getTemplateVars('$lista_produktow.alias')

i zwraca mi błąd: Fatal error: Call to undefined method Smarty::getTemplateVars() in /templates_c/%%7A^7A5^7A5DC887%%produkty.tpl.html.php on line 16

analogicznie dla tego 2 przykładu: Call to undefined method Smarty::_tpl_vars() in /templates_c/%%7A^7A5^7A5DC887%%produkty.tpl.html.php on line 16
nospor
....

nie: $this->getTemplateVars('$lista_produktow.alias')
a: $this->getTemplateVars('lista_produktow')
Czy widziales gdzies u mnie $ lub kropkęquestionmark.gif I to ci zwroci tablice i dobieraj sie teraz z tego jak do normalnej tablicy w php.

Zaś co do komunikatu ze nie ma takiej funkcji, to zajrzyj do manuala smarty do wersji która masz i sprawdz jak dokladnie się ta funkcja nazywa.

Przykladowo w smarty2 nazywa sie tak
http://www.smarty.net/docsv2/en/api.get.template.vars.tpl
northwest
pomogło smile.gif dziękuję smile.gif
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.