• User Attivo

    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 😄


  • User Attivo

    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.


  • User Attivo

    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.


  • User Attivo

    Ragazzi ho risolto con un while nel PHP ed il foreach nel template!
    Grazie comunque 😃