Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]/[smarty] wstawnienie danych do szablonu z pęli
Lejto
post 19.01.2010, 10:26:01
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Mam pętle w php która wyświetla dane. Jak te dane wstawić do szablonu? Próbowałem za pomocą zmiennej ale wtedy wyświetlana jest tylko 1 wartość pętli zamiast wszystko, dlatego chyba trzeba w szablonie też zrobić pętle?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Max Damage
post 19.01.2010, 10:40:36
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 19
Dołączył: 14.06.2007

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


  1. $smarty->assign('foo',$tablica);
  2. $smarty->display('index.tpl');

  1. {foreach from=$foo item=tab}
  2. {$tab}
  3. {/foreach}

Więcej TU


--------------------
"Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein
Go to the top of the page
+Quote Post
Lejto
post 19.01.2010, 15:31:57
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


to mam moje wartości z pętli wrzucić w tablice?


--------------------
Go to the top of the page
+Quote Post
nospor
post 19.01.2010, 17:07:08
Post #4





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




tak


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Lejto
post 19.01.2010, 21:39:18
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


coś mi nie idzie
  1. for($i=0; $i < $page_news1; $i++)
  2. {
  3. $b = $i+1;
  4. if($b!=0)
  5. {
  6. if(isset($_GET['page_news']) && $b==$_GET['page_news'])
  7. {
  8. $strona[] = "<b><a href=pokaz,".$id.",".$b.">".$b."</a></b>"; if($b!=$page_news1){ $st= ", "; }
  9. }
  10. elseif(!isset($_GET['page_news']) && $b==1)
  11. {
  12. $strona1[] = "<b><a href=pokaz,".$id.",".$b.">".$b."</a></b>"; if($b!=$page_news1){ $st= ", "; }
  13. }
  14. else
  15. {
  16. $strona2[] = "<b><a href=pokaz,".$id.",".$b.">".$b."</a></b>";
  17.  
  18. }
  19. }
  20. }
próbowałem to 1 zmiennej i do paru ale nic nie wyświetla


--------------------
Go to the top of the page
+Quote Post
scorpion_1982
post 28.01.2010, 01:50:33
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 10.12.2007
Skąd: Nowy Sącz

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


Lejto - To co ty masz w kodzie to jest jakiś jeden wielki nie ład.

Zadaj sobie pytanie co to są smarty questionmark.gif
System szablonów, czyli ty masz mięć tablice array z danymi, i ją przekazujesz do smartów a resztę robisz po stronie kodu, nigdy tak jak ty, bo wtedy smarty ci są zbędne.

Np.
przykładowo tabela wygląda tak:
  1. CREATE TABLE `strony` (
  2. `ID` int(11) NOT NULL AUTO_INCREMENT,
  3. `nazwa` varchar(40) NOT NULL,
  4. `link` varchar(255) NOT NULL,
  5. PRIMARY KEY(`ID`)
  6. );

Pobieranie danych z bazy mysql:
  1. $tablica=array();
  2. $wynik = mysql_query("SELECT * FROM `strony`;");
  3. while ($dane = mysql_fetch_assoc($wynik))
  4. {
  5. $tablica[]=$dane;
  6. }

Kolejno dajesz:
  1. $smarty->assign("dane",$tablica);
  2. $smarty->display("przyklad.tpl");   

przyklad.tpl
  1. <html><head></head><body>
  2.  
  3. {section name=dane_id loop=$dane}
  4. <a href="{$dane[dane_id].link}">ID Linku:{$dane[dane_id].ID} Nazwa:{$dane[dane_id].nazwa}</a><br />
  5. {/section}
  6.  
  7. </body></html>


Podałem przykład reszta według woli, w razie dalszych problemów wyjaśnie to bardziej szczegółowo...

Ten post edytował scorpion_1982 28.01.2010, 02:02:00
Go to the top of the page
+Quote Post
Lejto
post 28.01.2010, 09:43:39
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


ok, dzięki zrobiłem podobnie tylko bez <a href=""></a> w szablonie teraz to zmienie


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:23