Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Sommare una variabile

  1. #1

    Sommare una variabile

    Ciao a tutti, premetto che ho effettuato diverse ricerche ma non sono riuscito a risolvere il problema.
    Avrei la necessità di fare la somma di una variabile estratta dalla query con un ciclo, ho preparato un array che contiene tutti i valori di questa variabile ma l'unica cosa che riesco a fare e farmi stampare dall'array la lista dei valori senza che essi vengano sommati.
    Spero in un vostro aiuto.
    Grazie.

    Codice PHP:
    try{

    $sql "SELECT * FROM articolilist";

    //Preparo le strutture per contenere la query
    $stmt $dbh->prepare($sql);

    //Controllo se la query è andata a buon fine
    if (! $stmt->execute() ) echo "[b]Errore nella query.[/b]";

    /* Associo un campo ad una variabile */
    $stmt->bindColumn('code'$code_bar);
    $stmt->bindColumn('articolo'$articolo);
    $stmt->bindColumn('prezzo'$prezzo);

    while (
    $row $stmt->fetch(PDO::FETCH_BOUND)) {

    echo 
    '<tr>';
        echo 
    '<td class="code">

    '
    .$code_bar.'</p></td>';
        echo 
    '<input type="hidden" name="cod" value="'.$code_bar.'" />';
        echo 
    '<td class="art">

    '
    .$articolo.'</p></td>';
        echo 
    '<input type="hidden" name="articolo" value="'.$articolo.'" />';
        echo 
    '<td class="prezzo">

    '
    .$prezzo.' €</p></td>';
        echo 
    '<input type="hidden" name="prezzo" value="'.$prezzo.'" />';
    echo 
    '</tr>';

    //Somma
    $prezzoc = array($prezzo);

    $count=sizeof($prezzoc);

    for(
    $counter=0;$counter<$count;$counter++){

    $somma 0;

    $somma += $prezzoc[$counter];

    echo 
    sprintf("%01.2f"round($somma,2)).'
    '
    ;

    }
    //Somma End

    }

    }
    //Nel caso in cui ci siano errori, li cattura nella variabile $myerror e li stampa 
    catch (PDOException $myerror)
    {
            print 
    "Problemi nella connessione al database: 
    $myerror->getMessage() . "
    "
    ;


  2. #2

    Re: Sommare una variabile

    forse non hai cercato bene allora
    Originariamente inviato da Simone86sp
    Codice PHP:

    //Somma
    $prezzoc = array($prezzo);

    $count=sizeof($prezzoc);

    for(
    $counter=0;$counter<$count;$counter++){

    $somma 0;

    $somma += $prezzoc[$counter];

    echo 
    sprintf("%01.2f"round($somma,2)).'
    '
    ;

    }
    //Somma End 
    tutto questo non ti serve, c'è array_sum() che serve proprio a questo.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  3. #3
    Ciao Manuelandro e grazie per la disponibilità!

    Avevo già preso in considerazione questa funzione:

    Codice PHP:
    array_sum() 
    però invece della somma dei valori me li restituisce uno per uno come se stessi leggendo l'array normalmente.

    Codice PHP:
    $prezzoc = array($prezzo);
                                    
    $somma array_sum($prezzoc);
                                    
    echo 
    sprintf("%01.2f"round($somma,2)).'
    '

    Forse sbaglio nel popolare l'array con i valori?

  4. #4
    Per la serie "perchè semplificare le cose quando complicarle non costa nulla"?

    Basta fare:

    Codice PHP:
    while () {
        ...
        
    $somma += $prezzo;
        ...
    }
    echo 
    sprintf("%01.2f"round($somma,2)).'
    '

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    ...
    altra soluzione semplicissima.
    Inoltre dando un'occhiata veloce, non avevo fatto caso che tutto il codice //somma è all'interno del ciclo while, quindi ad ogni ciclo inizializzi ogni volta il codice rendendo nullo quello precedente.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  6. #6
    Ho preso in esame le vostre risposte e sia con il metodo di Satifal, che estraendo dal ciclo while il codice per la //somma come suggerito da Manuelandro l'array mi stampa a video solo l'ultimo valore contenuto nello stesso array ignorando totalmente il fatto che i valori dovrebbero essere sommati tra di loro.

  7. #7
    Originariamente inviato da Simone86sp
    Ho preso in esame le vostre risposte e sia con il metodo di Satifal, che estraendo dal ciclo while il codice per la //somma come suggerito da Manuelandro l'array mi stampa a video solo l'ultimo valore contenuto nello stesso array ignorando totalmente il fatto che i valori dovrebbero essere sommati tra di loro.
    Posteresti TUTTO il codice di grazia?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Eccolo...

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <?php
    require_once 'sessione.php';
    ?><html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta name="description" content="Gestionale di cassa con sistema di stoccaggio real time" />
            <meta name="keywords" content="Store Management" />
            <meta name="robots" content="index,follow" />
            <meta name="revisit-after" content="90 days" />
            <meta http-equiv="content-language" content="it" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

            <link href="css/style.css" rel="stylesheet" type="text/css" />
            <link rel="shortcut icon" href="img/favicon.ico" />

            <!--[if lt IE 9]>
            <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
            
            
             <script type="text/javascript">
                 function setFocus(id) {
                    document.getElementById(id).focus();
                 }
             </script>
            

            <title>Store Management</title>

        </head>

        <body>
            
            <div id="main">
            
                <div id="header">
                    
                    <div id="logo">
                        [img]images/logo.png[/img]
                    </div>
                    
                    <div id="menu">
                        <span>[url="home.php"][img]images/cassa.png[/img][/url]</span>
                        <span>[url="inventario.php"][img]images/inventario.png[/img][/url]</span>

                        <span>[url=""][img]images/logout.png[/img][/url]</span>
                    </div>

                </div>

            
                <div id="center">
                    
                    <div id="form-s">
                        
                        <script type="text/javascript">
                        window.onload = function() {
                        setFocus('focus');
                        };
                        </script>
                        
                        <form method="post" action="addlist.php">
                            <input id="focus" type="text" name="code" value="" />

                            <label>Code</label>
                        </form>
                        
                    </div>
                    
                    <div id="fattura">
                        
                        <form method="post" action="cleanlist.php">
                        
                            <table id="fattura-t">

                                <tbody>

                                    <tr>
                                        <td class="code">Cod. Prodotto</td>
                                        <td class="art">Articoli</td>
                                        <td class="prezzo">Prezzo</td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>
                                    
                                    <?php
                    
                                    
    try{

                                    
    $sql "SELECT * FROM articolilist";

                                    
    //Preparo le strutture per contenere la query
                                    
    $stmt $dbh->prepare($sql);

                                    
    //Controllo se la query è andata a buon fine
                                    
    if (! $stmt->execute() ) echo "[b]Errore nella query.[/b]";

                                    
    /* Associo un campo ad una variabile */
                                    
    $stmt->bindColumn('code'$code_bar);
                                    
    $stmt->bindColumn('articolo'$articolo);
                                    
    $stmt->bindColumn('prezzo'$prezzo);

                                    while (
    $row $stmt->fetch(PDO::FETCH_BOUND)) {
                                    
                                    echo 
    '<tr>';
                                        echo 
    '<td class="code">

    '
    .$code_bar.'</p></td>';
                                        echo 
    '<input type="hidden" name="cod" value="'.$code_bar.'" />';
                                        echo 
    '<td class="art">

    '
    .$articolo.'</p></td>';
                                        echo 
    '<input type="hidden" name="articolo" value="'.$articolo.'" />';
                                        echo 
    '<td class="prezzo">

    '
    .$prezzo.' €</p></td>';
                                        echo 
    '<input type="hidden" name="prezzo" value="'.$prezzo.'" />';
                                    echo 
    '</tr>';
                                    
                                    
    //Somma
                                    
    $prezzoc = array($prezzo);
                                    
                                    
    $count=sizeof($prezzoc);
                                    
                                    for(
    $counter=0;$counter<$count;$counter++){
                                    
                                    
    $somma 0;

                                    
    $somma += $prezzoc[$counter];
                                    
                                    echo 
    sprintf("%01.2f"round($somma,2)).'
    '
    ;

                                    }
                                    
    //Somma End
                                    
                                    
    }
                            
                                    }
                                    
    //Nel caso in cui ci siano errori, li cattura nella variabile $myerror e li stampa 
                                    
    catch (PDOException $myerror)
                                    {
                                            print 
    "Problemi nella connessione al database: 
    $myerror->getMessage() . "
    "
    ;
                                    }

                                
    ?>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">

    Totale</p></td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
                                            

     
                                                €
                                            </p>
                                        </td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>
                                    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
                                            <input type="submit" name="submit" value="Concludi" />
                                        </td>
                                    </tr>

                                </tbody>

                            </table>
                            
                        </form>
                        
                    </div>

                </div>

            
                <div id="footer">

                </div>

            </div>
            
        </body>
    </html>

  9. #9
    Originariamente inviato da Simone86sp
    Eccolo...

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <?php
    require_once 'sessione.php';
    ?><html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta name="description" content="Gestionale di cassa con sistema di stoccaggio real time" />
            <meta name="keywords" content="Store Management" />
            <meta name="robots" content="index,follow" />
            <meta name="revisit-after" content="90 days" />
            <meta http-equiv="content-language" content="it" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

            <link href="css/style.css" rel="stylesheet" type="text/css" />
            <link rel="shortcut icon" href="img/favicon.ico" />

            <!--[if lt IE 9]>
            <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
            
            
             <script type="text/javascript">
                 function setFocus(id) {
                    document.getElementById(id).focus();
                 }
             </script>
            

            <title>Store Management</title>

        </head>

        <body>
            
            <div id="main">
            
                <div id="header">
                    
                    <div id="logo">
                        [img]images/logo.png[/img]
                    </div>
                    
                    <div id="menu">
                        <span>[url="home.php"][img]images/cassa.png[/img][/url]</span>
                        <span>[url="inventario.php"][img]images/inventario.png[/img][/url]</span>

                        <span>[url=""][img]images/logout.png[/img][/url]</span>
                    </div>

                </div>

            
                <div id="center">
                    
                    <div id="form-s">
                        
                        <script type="text/javascript">
                        window.onload = function() {
                        setFocus('focus');
                        };
                        </script>
                        
                        <form method="post" action="addlist.php">
                            <input id="focus" type="text" name="code" value="" />

                            <label>Code</label>
                        </form>
                        
                    </div>
                    
                    <div id="fattura">
                        
                        <form method="post" action="cleanlist.php">
                        
                            <table id="fattura-t">

                                <tbody>

                                    <tr>
                                        <td class="code">Cod. Prodotto</td>
                                        <td class="art">Articoli</td>
                                        <td class="prezzo">Prezzo</td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>
                                    
                                    <?php
                    
                                    
    try{

                                    
    $sql "SELECT * FROM articolilist";

                                    
    //Preparo le strutture per contenere la query
                                    
    $stmt $dbh->prepare($sql);

                                    
    //Controllo se la query è andata a buon fine
                                    
    if (! $stmt->execute() ) echo "[b]Errore nella query.[/b]";

                                    
    /* Associo un campo ad una variabile */
                                    
    $stmt->bindColumn('code'$code_bar);
                                    
    $stmt->bindColumn('articolo'$articolo);
                                    
    $stmt->bindColumn('prezzo'$prezzo);

                                    while (
    $row $stmt->fetch(PDO::FETCH_BOUND)) {
                                    
                                    echo 
    '<tr>';
                                        echo 
    '<td class="code">

    '
    .$code_bar.'</p></td>';
                                        echo 
    '<input type="hidden" name="cod" value="'.$code_bar.'" />';
                                        echo 
    '<td class="art">

    '
    .$articolo.'</p></td>';
                                        echo 
    '<input type="hidden" name="articolo" value="'.$articolo.'" />';
                                        echo 
    '<td class="prezzo">

    '
    .$prezzo.' €</p></td>';
                                        echo 
    '<input type="hidden" name="prezzo" value="'.$prezzo.'" />';
                                    echo 
    '</tr>';
                                    
                                    
    //Somma
                                    
    $prezzoc = array($prezzo);
                                    
                                    
    $count=sizeof($prezzoc);
                                    
                                    for(
    $counter=0;$counter<$count;$counter++){
                                    
                                    
    $somma 0;

                                    
    $somma += $prezzoc[$counter];
                                    
                                    echo 
    sprintf("%01.2f"round($somma,2)).'
    '
    ;

                                    }
                                    
    //Somma End
                                    
                                    
    }
                            
                                    }
                                    
    //Nel caso in cui ci siano errori, li cattura nella variabile $myerror e li stampa 
                                    
    catch (PDOException $myerror)
                                    {
                                            print 
    "Problemi nella connessione al database: 
    $myerror->getMessage() . "
    "
    ;
                                    }

                                
    ?>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">

    Totale</p></td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
                                            

     
                                                €
                                            </p>
                                        </td>
                                    </tr>

                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">


    </p></td>
                                    </tr>
                                    
                                    <tr>
                                        <td class="code"></td>
                                        <td class="art"></td>
                                        <td class="prezzo">
                                            <input type="submit" name="submit" value="Concludi" />
                                        </td>
                                    </tr>

                                </tbody>

                            </table>
                            
                        </form>
                        
                    </div>

                </div>

            
                <div id="footer">

                </div>

            </div>
            
        </body>
    </html>
    ... e ti sembra di aver fatto quello che ti è stato suggerito?!

    Codice PHP:
    ...
                                while (
    $row $stmt->fetch(PDO::FETCH_BOUND)) {
                                    
                                    echo 
    '<tr>';
                                        echo 
    '<td class="code">

    '
    .$code_bar.'</p></td>';
                                        echo 
    '<input type="hidden" name="cod" value="'.$code_bar.'" />';
                                        echo 
    '<td class="art">

    '
    .$articolo.'</p></td>';
                                        echo 
    '<input type="hidden" name="articolo" value="'.$articolo.'" />';
                                        echo 
    '<td class="prezzo">

    '
    .$prezzo.' €</p></td>';
                                        echo 
    '<input type="hidden" name="prezzo" value="'.$prezzo.'" />';
                                    echo 
    '</tr>';
                                    
                                    
    $somma += $prezzo;
                                    
                                } 
                                    echo 
    sprintf("%01.2f"round($somma,2)).'
    '
    ;
    ... 
    ...e dai su...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    infatti quello che ti ho postato era il codice allo stato iniziale, prima che cominciasse questa discussione, ho pensato di postarlo così per non incasinare troppo le chiacchiere!!!

    Il tuo metodo mi da un errore sulla variabile somma:

    Notice: Undefined variable: somma in C:\Program Files (x86)\EasyPHP-5.3.9\www\Cassa\center.php on line 69

    E se provo a dichiarare un valore qualsiasi per $somma (anche 0) mi torna stampato l'ultimo valore più il valore assegnato a $somma.

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.