Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26

Discussione: Problema ciclo WHILE

  1. #21
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    125
    Ecco cosa accade seguendo il suggerimento di eiyen...

    Codice:

    <?php
    $db_selection = mysql_select_db($database_jacky, $jacky) or die ("Selezione del database fallita

    ");
    $query = "SELECT * FROM prodotti WHERE id = '$carrello'";
    $result = mysql_query($query,$jacky) or die (mysql_error($jacky));
    $totale=0;
    while($riga = mysql_fetch_assoc($result)) {
    var_export($riga);
    $importo = $riga['prezzo'];
    print $importo;
    $iva = $importo * 21 / 100;
    print $iva;
    $totale = $totale + $importo + $iva;
    print $totale;
    }
    //echo '<input type="text" name="importo" size="8" value="'.$totale.'"/>';
    ?>

    Output:

    ( 'id' => '6', 'nome' => 'Atti', 'quantita' => '100', 'modello' => 'Un lembo', 'prezzo' => '130', )13027.3157.3

    Questo conferma che il ciclo fa solo un giro, fermandosi al primo prodotto inserito nel carrello e non tenendo in considerazione gli altri.
    Quindi la domanda è sempre la stessa: perchè se stampo la variabile $carrello nel campo di testo, l'output sono tutti gli ID relativi ai prodotti inseriti? A rigor di logica dovrebbe stampare a video solo l'ID relativo al primo prodotto inserito nel carrello.

    STO DIVENTANDO SCEMO!!!

  2. #22
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Come dice @Dascos è verosimile che la query restituisca un solo record... non puoi verificare?

  3. #23
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    125
    Ma ormai sembra chiaro che la query restituisca un solo record; lo abbiamo già verificato.
    Perchè però?

  4. #24
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    - aggiungi un var_export($query); dopo l'assegnazione della query
    - esegui LA STESSA QUERY da un pannello (tipo phpmyadmin)
    - estrai poi i record che secondo te dovrebbe restituire (selezionandoli a uno uno manualmente, oppure posta una decina di record della tabella)

    Posta il tutto qui...

  5. #25
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Codice PHP:
    <?php
    $db_selection 
    mysql_select_db($NOMEDB$CONN) or die ("Selezione del database fallita

    "
    );
    $query "SELECT * FROM NOMETABELLA WHERE id = '$carrello'";
    $result mysql_query($query,$CONN) or die (mysql_error($CONN));

    $test = array();

    while(
    $riga mysql_fetch_assoc($result)) {

    $test[] = $riga ;



    echo 
    "<pre>";

    var_dump($test) ;

    echo 
    "</pre>" ;
    ?>

    Cosa ti restituisce quel var dump ?

  6. #26
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    125
    FINALMENTE!!!

    Dopo parecchi giorni sono riuscito finalmente a risolvere.
    Ho creato la seguente funzione:

    function mostraImporto()
    {
    global $db;
    $carrello = $_SESSION['carrello'];
    $somma = 0;
    if ($carrello)
    {
    $prodotti = @explode(',',$carrello);
    $acquisti = array();
    foreach ($prodotti as $prodotto)
    {
    $acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1 : 1;
    }

    foreach ($acquisti as $id=>$quanti)
    {
    $sql = "SELECT * FROM prodotti WHERE id = '$id'";
    $res = $db->query($sql);
    $f = $res->fetch();
    @extract($f);
    $quantita = $f['quantita'];
    $modello = $f['modello'];
    $result[] = $prezzo;
    $result[] = $id.$quanti;
    $result[] = $prezzo * $quanti;
    $somma += $prezzo * $quanti;
    }

    $iva = $somma * 21 / 100;
    $totale = $somma + $iva;
    echo '<input type="hidden" name="importo" size="8" value="'.$totale.'"/>';
    }
    }

    Recuperando il valore del campo di testo nascosto, ottengo il tanto agognato totale.

    Ringrazio tutti per la partecipazione e 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 © 2026 vBulletin Solutions, Inc. All rights reserved.