Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    visualizzare variabili in Smarty

    Salve,ho un problema...
    Vorrei visualizzare variabili in un file tpl che sono memorizzate all'interno di un array associativo presenti in un file php.

    Questo è il codice del file elenco.php:
    $page->assign("elenco", true);

    $que = mysql_query("SELECT * FROM immagini WHERE ID_immagine BETWEEN '1' AND '10' ");

    if (!$que) {

    echo "Error";
    exit;
    }

    do {

    $result = mysql_fetch_assoc($que);

    if ($result) {
    echo "{$result['Nome']}";

    }

    } while ($result);

    Questo è il codice del file elenco.tpl:

    <h3>Racchette </h3>



    Per vedere la descrizione completa ed eventualmente procedere all'acquisto selezionare un prodotto cliccando sul suo nome o sull'immagine.</p>
    {foreach from =$result item=ris}
    Il nome è {$ris.Nome}
    {/foreach}


    Qualcuno può aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    {foreach from=$array_dati item=item key=key}
    {$item.chiave}
    {/foreach}

    quello che scrivi e' corretto, ho e' sbagliato l'array in php in qualche modo, o non viene assegnato..
    Se con var_dump() da php l'array c'e' vuol dire che in smarty o viene passato male o magari c'e' un errore a livello di chiavi o livello se array multilivello

  3. #3
    Per stampare variabili in smarty vanno prima assegnate, quindi supponendo che $page è il riferimento all'oggetto smarty:
    Codice PHP:
    $que mysql_query("SELECT * FROM immagini WHERE ID_immagine BETWEEN '1' AND '10' ");

    if (!
    $que) {
        echo 
    "Error";
        exit;
    }
    $risultato = array();
    do {
        
    $result mysql_fetch_assoc($que);
        if (
    $result) {
            
    $risultato[]['Nome'] = $result['Nome']
        }
    } while (
    $result);
    $page->assign('risultato',$risultato);

    <
    h3>Racchette </h3>



    Per vedere la descrizione completa ed eventualmente procedere all'acquisto selezionare un prodotto cliccando sul suo nome o sull'immagine.</p>
    {foreach 
    from=$risultato item=ris}
    Il nome è {$ris.Nome}
    {/foreach} 
    Se si utilizza smarty, in genere non si dovrebbe mai utilizzare la funzione echo direttamenta del php, l'output va eseguito mediante smarty.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Come detto sopra l'assegnazione e' d'obbligo o non andrebbe.
    Avevo dato per scontato che ci fosse(se questo e' il problema).

    Assegnazione variabili e display del tpl interessato o fetch del tpl usato sempre prima di un display per blocco html magari.

    L'echo in teoria e' usato per prova o no??

  5. #5
    Non so se è solo per prova, anche perchè nel foreach si fa riferimento alla variabile $result, che non è un array, ma è il risultato dell'ultima iterazione della query e non è stata mai assegnata, tranne se tali istruzioni sono state omesse dal post.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  6. #6
    Grazie mille..sto risolvendo..cmq l'echo era per prova...
    Se ho altri dubbi faccio ve li farò sapere...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.