Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: sessioni e array

  1. #11
    Sono arrivato a questo punto:
    tramite un form creo un array es:

    $ordine[$id_prodotto]['modello'] = $_POST['modello'];
    $ordine[$id_prodotto]['colore'] = $_POST['colore'];
    $ordine[$id_prodotto]['composizione'] = $_POST['composizione'];
    $ordine[$id_prodotto]]['quantita'] = $_POST['quantita'];
    $ordine[$id_prodotto]]['prezzo_unitario'] = $array['prezzo']; // preso da una query nel database

    poi faccio il tot in base alla quantità di ogni singolo prodotto:

    $ordine[$id_prodotto]]['prezzo_tot_prodotto'] = $ordine[$id_prodotto]]['quantita'] * $ordine[$id_prodotto]]['prezzo_unitario'];

    ora però per fare il totale dell'ordine come dovrei fare?
    in pratica dovrei sommare gli array che ha creato :
    $ordine[$id_prodotto]]['prezzo_tot_prodotto']
    mi sapete rispondere?
    Grazie.

  2. #12
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    essendo un array bidimensionale devi eseguire un doppio foreach, uno che fa passare gli id dei prodotti e uno per il prodotto. Se ho capito giusto tu alla fine ottieni diverse ordinazioni in base all'ID e vuoi il totale di tutti i prodotti? se è cosi devi fare una cosa del genere:

    Codice PHP:
    <?php
    Array
    (
        [
    32] => Array
            (
                [
    modello] => modello
                
    [colore] => colore
                
    [composizione] => composizione
                
    [quantita] => 100
                
    [prezzo_unitario] => 2
                
    [prezzo_tot_prodotto] => 200
            
    )

        [
    33] => Array
            (
                [
    modello] => modello
                
    [colore] => colore
                
    [composizione] => composizione
                
    [quantita] => 100
                
    [prezzo_unitario] => 3
                
    [prezzo_tot_prodotto] => 300
            
    )

        [
    34] => Array
            (
                [
    modello] => modello
                
    [colore] => colore
                
    [composizione] => composizione
                
    [quantita] => 100
                
    [prezzo_unitario] => 4
                
    [prezzo_tot_prodotto] => 400
            
    )

    )

    // calcolo del prezzo totale in base all'ordinazione sopra
    foreach($ordine as $id_prodotto)
    {
        foreach(
    $id_prodotto as $key => $value)
        {
            if(
    $key == 'prezzo_tot_prodotto')
            {
                
    $totale += $value;
            }
        }
    }

    echo 
    "Prezzo Totale: ".$totale;

    ?>

  3. #13
    sei un grande!
    funziona alla perfezione o quasi : mi dà l'errore notice della variabile $totale che risulta indefinita come mai?

  4. #14
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    si è giusto bisognava definirla prima del foreach e settarla a zero:

    $totale = 0;
    foreach($ordine as $id_prodotto)
    {
    ...

  5. #15
    è vero grazie mille!
    Una curiosità : si poteva fare piu o meno la stessa cosa anche solo con un for?

  6. #16
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    se non cambi la struttura degli array, cioè lasciandoli bidimensionali non puoi.

  7. #17
    Non e' sufficiente

    Codice PHP:
    $totale 0;
    foreach(
    $ordine as $id_prodotto) {
        
    $totale += $id_prodotto['prezzo_tot_prodotto'];

    ?

  8. #18
    si è vero è sufficiente!!
    che sbabbo che sono!

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.