Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170

    somma risultati valori estratti da foreach

    Come da titolo ho dei valori estratti da un ciclo foreach che prende i valori da un form dove per ogni oggetto c'è il relativo prezzo e quantità.

    codice:
    foreach ($_POST['id_og'] as $idog) { 
    $quant=$_POST['quant']; 
    $totale= $_POST['OG_PREZZO'] * $quant; 
    echo $totale; 
    echo $idog;
     }
    Fino a qui tutto ok mi fa la moltiplicazioni del prezzo di ogni oggetto per la quantità, ma come faccio per fare la somma di tutte i risultati delle moltiplicazioni?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    Re: somma risultati valori estratti da foreach

    Prova così

    Codice PHP:
    $totale_di_tutto ;

    foreach (
    $_POST['id_og'] as $idog) { 
    $quant=$_POST['quant']; 
    $totale$_POST['OG_PREZZO'] * $quant
    $totale_di_tutto += $totale ;
    echo 
    $totale
    echo 
    $idog;
     } 

    echo 
    '
    Totale di tutto: '
    .$totale_di_tutto.'

    Errare humanum est, perseverare ovest

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    Ho cambiato un po' il codice perchè mi sono accorta che non prendeva le quantità inserite nel form originale creato con un ciclo for e così strutturato:
    Codice PHP:
    <? $nr mysql_num_rows($acquisti);
    for(
    $i 0$i $nr$i++){
    $acq mysql_fetch_object($acquisti);
        
    ?>
              <tr>
                <td><input name="id_og[<? echo $i?>][prezzo]"  type="text" class="lettura" readonly value="<? echo $acq->OG_PREZZO?>"></td>
                <td><input name="id_og[<? echo $i?>][disp]"  type="text" class="lettura" readonly value="<? echo $acq->OG_DISP?>"></td>
                <td><input name="id_og[<? echo $i?>][quant]"  type="text" class="quant"></td>
                <td><input type="checkbox" name="id_og[<? echo $i?>][id]" value="<?php echo $acq->OG_ID?>"></td>
                 <? ?>
                 </tr>
    quindi il codice qui sopra è diventato questo:

    Codice PHP:
     foreach ($_POST['id_og'] as $idog) {
     
    $prezzo=$idog['prezzo'];
    $quant=$idog['quant'];
    $totale$prezzo $quant;
    $tot +=$totale 
    Il problema è che mi prende tutti i campi della form senza verifcare che la checkbox sia spuntata.

    Ho provato a mettere cose tipo
    codice:
    if (empty($_POST['id_og']['$id'])){
    prima del foreach ma lo ignora.

    Come faccio a verificare che i checkbox siano spuntati o meno?

    Rigrazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2001
    Messaggi
    170
    al momento ho risolto così
    Codice PHP:
    <?
    foreach ($_POST['id_og'] as $idog) {
    $prezzo=$idog['prezzo'];
    $quant=$idog['quant'];
    $id=$idog['id'];
    $nr count($id);
    for(
    $i 0$i $nr$i++){
    if ((
    $quant=='') || ($quant==0)){ $quant =1; }
    $totale$prezzo $quant;
    $tot +=$totale

    ?>
    <p class="caratteri"><? echo $prezzo?></p>
    <p class="caratteri"><? echo $quant?></p>
    <p class="caratteri"><? echo $totale?></p>

    <? } }?>




    <p class="caratteri"><? echo $tot?></p>
    Ma se c'è una soluzione migliore è ben accetta

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.