Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pętla w smarty
dyktek
post
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


Witam, zaczynam zapoznawać się ze smarty i mam problem z wyświetleniem szablonu w pętli np. selecta

Moj szablon wygląda tak:

  1. <title>{$tytul}</title>
  2. </head>
  3. <select name="gra">
  4.  
  5. {zapytanie}
  6. {
  7. <option value="{$id}">{$nazwa_gry}</option>
  8. }
  9.  


a kod tak:

  1. <?php
  2.  
  3. include('Smarty.class.php');
  4.  
  5. include('config.php');
  6.  
  7.  
  8.  
  9. $zap = $query = mysql_query("SELECT id, nazwa_gry FROM dyk_gry LIMIT 100") or die (mysql_error()); while($row = mysql_fetch_array($query));
  10.  
  11. $smarty = new Smarty;
  12.  
  13.  
  14.  
  15. $smarty->assign('zapytanie', $zap);
  16. $smarty->assign('id', $row['id']);
  17. $smarty->assign('nazwa_gry', $row['nazwa_gry']);
  18.  
  19. $smarty->display('szablons.tpl');
  20.  
  21. ?>


może ktoś podać mi jakiś przykładzik jak jak realizować te pętle
Go to the top of the page
+Quote Post
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


utworz tablice w php, przekaz ja i potem {foreach} wyswietl dane, a jak chcesz korzystac z mysql_fetch_array w smarty to sobie musisz chyba dopisac plugin
Go to the top of the page
+Quote Post
dyktek
post
Post #3





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


dzięki za pomoc troche rozjaśniłeś mi sprawę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale mam jeszcze problem mały w manualu smarty znalazłem interesujące mnie rozwiązanie i troche je zmodyfikowałem a wynik poniezej

kod pliki:
  1. <?php
  2.  
  3.  
  4. include('Smarty.class.php');
  5.  
  6. include('config.php');
  7.  
  8. $smarty = new Smarty;
  9.  
  10. $sql = 'select id, nazwa_gry from dyk_gry order by nazwa_gry';
  11. $smarty->assign("dyk_gry", $db->getAssoc($sql));
  12.  
  13.  
  14.  
  15. $smarty->display('szablons.tpl');
  16.  
  17.  
  18.  
  19. ?>


kod szablonu:

  1.  
  2. </head>
  3.  
  4. <select name="gra">
  5. {foreach key=id item=tytul from=$dyk_gry}
  6. <option value="{$id}">{$tytul.nazwa_gry}</option>
  7. {/foreach}
  8.  
  9. </html>


zwraca mi błąd Call to a member function on a non-object in tralalala/index2.php on line 11

i z tego co widze chodzi o ten kawałek $db->getAssoc tylko nie wiem czy mam racje. Proszę o jakieś wskazówki (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif)

Ten post edytował dyktek 11.03.2006, 12:59:43
Go to the top of the page
+Quote Post
sf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


to blad w php, a nie w smarty
Go to the top of the page
+Quote Post
dyktek
post
Post #5





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


no tak ale teraz zeby go wyeliminowac musze includować jakąś dodatkową klase która obsługuje tą metodę $db->getAssoc
Go to the top of the page
+Quote Post
Strzałek
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Cytat(dyktek @ 2006-03-11 13:23:36)
no tak ale teraz zeby go wyeliminowac musze includować jakąś dodatkową klase która obsługuje tą metodę $db->getAssoc


no tak, ale tamto to jest przykład. Przecież możesz normalnie używająć funckcji mysql_query i mysql_fetch_array stworzyć tablicę, a później ją do szablonów dołączyć.

  1. <?php
  2. include('Smarty.class.php');
  3.  
  4. include('config.php');
  5.  
  6. $smarty = new Smarty;
  7.  
  8. $query = mysql_query('select id, nazwa_gry from dyk_gry order by nazwa_gry');
  9. $rows = array();
  10. while($row = mysql_fetch_array($query)){
  11.  $rows[] = $row;
  12. }
  13. $smarty->assign("dyk_gry", $rows);
  14.  
  15.  
  16. $smarty->display('szablons.tpl');
  17. ?>


Ten post edytował Strzałek 11.03.2006, 13:53:25
Go to the top of the page
+Quote Post
dyktek
post
Post #7





Grupa: Zarejestrowani
Postów: 240
Pomógł: 0
Dołączył: 18.01.2004
Skąd: rzeszów / kraków

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


@Strzałek dzięki (IMG:http://forum.php.pl/style_emoticons/default/cool.gif)
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: 24.08.2025 - 10:55