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

    [php] array multidimensionali

    ciao,

    ho messo nelle sessioni il contenuto del carrello.
    Codice PHP:
    $_SESSION[$i]['quantita'] = $ct_qty;
    $_SESSION[$i]['nome_pd'] = $pd_name;
    $_SESSION[$i]['lingua_pd'] = $lang_name;
    $_SESSION[$i]['prezzo_unitario'] = displayAmount($pd_price);
    $_SESSION[$i]['lordo'] = displayAmount($ct_qty $pd_price); 
    e con un doppio foreach estraggo tutto il contenuto dell'array $_SESSION

    Codice PHP:
    foreach($_SESSION as  $key =>$value ){
          if (
    is_array($value)) {
            foreach(
    $value as $key2 =>$value2);
      } 
    così estraggo tutto il contenuto elencando gli elementi uno di seguito all'altro.
    quello che non ho ancora capito è come estrarre un singolo elemento dall'array per poterli elencare tipo:

    echo"Quantità:". $_SESSION[$i]['quantita'];
    echo"Nome prodotto:".$_SESSION[$i]['nome_pd'];
    etc.....

    spero di essermi spiegato
    Grazie

  2. #2
    echo"Quantità:". $_SESSION[$i]['quantita'];
    echo"Nome prodotto:".$_SESSION[$i]['nome_pd'];
    etc.....

    ovviamente questo era un esempio per far capire come vorrei usare i dati dell'array....
    help!


  3. #3
    Codice PHP:
    foreach($_SESSION as  $key =>$value ){
          if (
    is_array($value)) {
              foreach(
    $value as $key2 =>$value2)
               echo 
    $value2;

    }


    io avrei bisogno di estrarre singolarmente il contenuto di $value2, per metterli dentro a html come voglio


  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Allora, in $_SESSION[$i] con $i generico avrai tutte le informazioni riguardo al $i-1esimo elemento nel carrello. Che genere di formattazione vuoi applicare? Perché quel che stavi facendo nel primo post non andrebbe bene?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Secondo me devi usare ad'esempio $i e $k in modo da poter lavorare su i 2 foreach... che ne dici daniele?

  6. #6
    allora,
    messo il contenuto del carrello nell'array $_SESSION, io vorrei ricavare i valori e metterli in una lista tipo,

    quantità: $_SESSION[$i]['quantita'] <-- stampo il contenuto per quanto irguarda la quantità.
    Prodotto:$_SESSION[$i]['nome_pd']<-- idem per il nome

    etc etc..

    quello che ho adesso in $value2, è la lista completa, ma non posso ordinarla nel modo che voglio io e non posso utilizzare la chiave $key2 come descrizione per il valore di $value2 perchè la descrizione è multilingua, quindi uso un'altra variabile $_SESSION['lingua'] per descrivere quel valore...

    questo è il mio problema.
    non so come estrarre il valore singolarmente per ordinare i valori come descritto sopra.



  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Scusa la banalità.
    Qualcosa del genere?
    codice:
    <?php
      session_start();
      
      $prodotti = array("Arance", "Banane", "Lamponi", "More", "Bionde");
      $prezzo_unitario = array(1, 1, 2, 2, "Mastercard");
      $quantita = array(10, 10, 20, 15, 1);
      
      for ($i = 0; $i < count($prodotti); $i++) {
        $_SESSION[$i]['nome_pd'] = $prodotti[$i];
    	$_SESSION[$i]['prezzo_unitario'] = $prezzo_unitario[$i];
    	$_SESSION[$i]['quantita'] = $quantita[$i];
    	$_SESSION[$i]['prezzo'] = is_numeric($prezzo_unitario[$i]) && is_numeric($quantita[$i]) ?  ($prezzo_unitario[$i] * $quantita[$i]) : "Troppo";	
      }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Schema ordini</title>
    </head>
    
    <body>
    <table width="600" align="center">
      <tr>
        <th><div align="center">Nome Prodotto</div></th><th><div align="center">Prezzo Unitario</div></th><th><div align="center">Quantit&agrave;</div></th><th><div align="center">Prezzo Totale</div></th>
      </tr>
    <?php
      for ($i = 0; $i < count($_SESSION); $i++) {?>
      <tr>
        <td><div align="center"><?php echo($_SESSION[$i]['nome_pd']);?></div></td>
        <td><div align="center"><?php echo($_SESSION[$i]['prezzo_unitario']);?></div></td>
        <td><div align="center"><?php echo($_SESSION[$i]['quantita']);?></div></td>
        <td><div align="center"><?php echo($_SESSION[$i]['prezzo']);?></div></td>
      </tr>
      <?php 
      }
        
    ?>
    </table>
    </body>
    </html>
    Oppure posta l'html del layout che vorresti che magari ci capiamo
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Codice PHP:
    $_SESSION[$i]['quantita'] = $ct_qty;
    $_SESSION[$i]['nome_pd'] = $pd_name;
    $_SESSION[$i]['lingua_pd'] = $lang_name;
    $_SESSION[$i]['prezzo_unitario'] = displayAmount($pd_price);
    $_SESSION[$i]['lordo'] = displayAmount($ct_qty $pd_price);

    }

     foreach(
    $_SESSION as  $key =>$value ){
          if (
    is_array($value)) {
            echo 
    "Prodotto: ".$value['nome_pd']."
    "
    ;
            echo 
    "Quantita: ".$value['quantita']."
    "
    ;
    }

    questa è la soluzione...forse era banale, però giocando continuamente con le sessioni e dimenticando a volte che rimangono sempre attive, mi ero incasitato tutto...
    e poi anch'io dopo un pò non capisco più niente... :rollo:

    grazie mille lo stesso per l'aiuto!


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.