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

    strano comportamento query

    Ciao a tutti,
    Ho un problema su una query.
    Cerco di spiegare quello che sto facendo: Su una pagina php,in un form, richiamo da una tabella del db alcuni campi, con $_POST:
    1)n_art (n° articolo)
    2)descrizione
    3)prezzo, mentre la quantità viene indicata attraverso l'inserimento in un campo e richiamata sempre attraverso $_POST
    codice:

    <?php
    if(isset($_POST['n_art']) ){
    $n_art= $_POST['n_art'];
    $qt= $_POST['qt'];

    $sql = "SELECT * FROM prodotti WHERE n_art=$n_art ";
    $query = mysql_query($sql);
    while($row = mysql_fetch_array($query,MYSQL_ASSOC)){
    echo "Art.:". $row['n_art']."";
    echo "Descrizione:" . $row['descrizione']."";
    echo"Prezzo:" . $row['prezzo']."";

    }
    }
    echo "Qt.:" . $qt; e fin qui tutto bene, il problema ce l'ho con il calcolo:

    $prezzo= mysql_query("SELECT prezzo FROM prodotti WHERE n_art='".$_POST['n_art']."'");

    $tot_parz =$qt*$prezzo;

    perchè mi restituisce dei valori strani, ad esempio se immetto qt 2 prezzo 3,50 mi restituisce
    12, se faccio qt3 mi restituisce 18, se faccio qt4 mi restituisce 24 e così via

    grazie, buon I maggio
    combattiamo il matrix!

  2. #2
    il divisore decimale deve essere il punto e non la virgola.

    2 * 3.50

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Il campo prezzo sul DB di che tipo è? Secondo me il problema è lui, in sostaqnza qt ragiona bene, l'aumento di qt aumenta proporzionalmente il risultato, anche se errato, quindi si tratta di una mala interpretazione di prezzo.

  4. #4
    decimal 3,2 grazie
    combattiamo il matrix!

  5. #5
    Originariamente inviato da ww.trinity
    decimal 3,2 grazie
    ma se fai:

    echo "$qt * $prezzo";

    cosa ti stampa?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    così mi ridà 0....

    ti posto il codice:
    <?php
    if(isset($_POST['n_art']) ){
    $n_art= $_POST['n_art'];
    $qt= $_POST['qt'];




    $sql = "SELECT * FROM prodotti WHERE n_art=$n_art ";
    $query = mysql_query($sql);
    while($row = mysql_fetch_array($query,MYSQL_ASSOC)){
    echo "Art.:". $row['n_art']."";
    echo "Descrizione:" . $row['descrizione']."";
    echo"Prezzo:" . $row['prezzo']."";

    }
    }
    echo "Qt.:" . $qt;

    $prezzo = $row['prezzo'];
    //$prezzo= mysql_query("SELECT prezzo FROM prodotti WHERE n_art='".$_POST['n_art']."'");

    echo "Tot. parz.:" . $qt*$prezzo;






    ?>

  7. #7
    scusami piero mac, ma sono a casa di un amico ed ero entrata per sbaglio con il suo account, ma la risposta postata da popeye06 era la mia per te, e a proposito della tua domanda di prima, si ho usato il punto. scusami ancora
    grazie ciao
    combattiamo il matrix!

  8. #8
    Originariamente inviato da piero.mac
    ma se fai:

    echo "$qt * $prezzo";

    cosa ti stampa?
    non hai risposto.

    cosa ti stampa?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    mi ridà "0"

    codice:
    <?php
    if(isset($_POST['n_art']) ){
    $n_art= $_POST['n_art'];
    $qt= $_POST['qt'];




    $sql = "SELECT * FROM prodotti WHERE n_art=$n_art ";
    $query = mysql_query($sql);
    while($row = mysql_fetch_array($query,MYSQL_ASSOC)){
    echo "Art.:". $row['n_art']."";
    echo "Descrizione:" . $row['descrizione']."";
    echo"Prezzo:" . $row['prezzo']."";

    }
    }
    echo "Qt.:" . $qt;

    $prezzo = $row['prezzo'];


    echo "Tot. parz.:" . $qt*$prezzo;

    ?>
    combattiamo il matrix!

  10. #10
    Originariamente inviato da ww.trinity
    mi ridà "0"
    pazienza. credevo di aver scritto in un buon italiano.


    echo "$qt * $prezzo";

    e tre. tre e' il numero perfetto. Anche i carabinieri delle barzellette ora lo farebbero.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.