- Home
- Categorie
- Coding e Sistemistica
- PHP
- Smarty non stampa tutti i records
-
Smarty non stampa tutti i records
Buonpomeriggio,
mi servirebbe un aiuto per Smarty.
index.php
[PHP]
[...]
$result=@mysql_query("SELECT news FROM news");
$righe=@mysql_num_rows($result);
for ($i=0;$i<$righe;$i++)
{
$array_result=mysql_fetch_row($result);
$news = $array_result[0]; // estraggo $news
$news_2 = reversebbcode($news); // lo faccio passare sotto una funzione
$scrivinews = @anteprima($news_2, 150).'<br />'; // altra funzione
$smarty->assign("scrivinews", $scrivinews);
}$smarty->display("index.tpl");
[...]
[/PHP]index.tpl
[PHP]
[...]
{$scrivinews}
[...]
[/PHP]Quando non utilizzo Smarty avrei naturalmente in output tutti i record della tabella news ma ora con Smarty ne ottengo solo uno.
Come dovrei fare per ottenere tutti i record nel template?Grazie e scusate
-
Ciao, il tuo problema molto probabilmente è che mediante l'istruzione
$news = $array_result[0]
assegni alla variabile $news il primo record della tua query, per questo ne ottiene solo uno.
-
Non è questo.
Io con la query (SELECT news FROM news) apro la tabella "news" ed estraggo la riga "news".
Dopodichè inserisco tutti i records contenuti nella suddetta riga in un array.
Con[PHP]$news = $array_result[0][/PHP]
inserisco tutti i records della riga "news" nella variabile $news.
Normalmente ora inserendo l' echo all' interno del for (echo $news;) riceverei tutti i record della riga ma ora ne ottengo soltanto uno.
Ripeto, dando solo l' echo normalmente funziona benissimo, ma implementando Smarty no.
-
Ragazzi ho risolto con un while nel PHP ed il foreach nel template!
Grazie comunque