Visualizzazione dei risultati da 1 a 2 su 2

Discussione: assign con array

  1. #1

    assign con array

    Salve ragazzi, ho un problema..
    Sto usando Smarty come motore di template.
    Quando faccio la assign con un solo elemento il programma funziona ma il mio problema è quando
    faccio la assign con un array... Praticamente devo prelevare più campi dal database e passarli al template..
    Questo è il codice php:

    <?php

    $page->assign("elenco", true);

    $id=$_GET['id'];
    if($id == 1){
    $que = mysql_query("SELECT path,racchette.Nome,peso,prezzo FROM immagini,prodotti,racchette WHERE ID_immagine BETWEEN '1' AND '9'
    and prodotti.ID_prodotto =racchette.ID_prodotto and immagini.ID_prodotto=prodotti.ID_prodotto");
    }

    $risult = array();



    do {

    $risultato = mysql_fetch_assoc($que);


    if($risultato){

    $risult[]['path'] = $risultato['path'];
    $risult[]['prezzo'] = $risultato['prezzo'];

    }

    } while ($risultato);

    $page->assign('risult',array('path'->$risult[path],'prezzo'->$risult[prezzo]));





    ?>


    e questo è il template:

    <table border="1" cellpadding="5">

    <col align="left" width="250px" valign="top" /> <col align="center" width="250px" /> <col align="right" width="268px" valign="bottom" />
    <tbody>
    <tr><td></td><td align="center">Nome</td><td>Prezzo</td></tr>
    {foreach from=$risult item=ris }

    <tr> <td><a href="#"> [img]img/{$ris.path}[/img] </td> <td><a href="#">{*$ris.Nome*} </td> <td>{$ris.prezzo}</td> </tr>

    {/foreach}

    </tbody>
    </table>


    Cmq il problema sta nel file php...
    Qualcuno può aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Questo e' sbagliato:
    if($risultato){
    $risult[]['path'] = $risultato['path'];
    $risult[]['prezzo'] = $risultato['prezzo'];
    }
    In questo modo scritto, avrai :
    $risult[0]['path'] e
    $risult[1]['prezzo'] e cosi' via

    se vuoi lo stesso array con piu' chiavi devono avere la stessa chiave madre diciamo


    if($risultato){
    $risult[1]['path'] = $risultato['path'];
    $risult[1]['prezzo'] = $risultato['prezzo'];
    //1 e' la chiave del ciclo
    }


    esempio di ciclo
    $i=0;
    $res = array();
    foreach($array as $ar){
    $res[$i]['nome'] = $ar['nome'];
    $res[$i]['cognome'] = $ar['cognome'];
    $i++;
    }
    Dove $i++ a ogni giro aumenta di uno.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.