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

Discussione: Variabili

  1. #1
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176

    Variabili

    Ciao, chiedo umilmente illuminazione.
    Ecco il problema:

    $num1=floatval($_POST["num1"]);
    $num2=floatval($_POST["num2"]);


    if ($_POST[operation] == "plus")
    {
    $x = $num1 + $num2;
    $sql=mysql_db_query("db", "update u set val=$x where val=$num1");

    }

    vorrei che $num1 e 2 possano contenere sia valori interi che decimali, e che dopo update il campo val(nel db è dichiatato di tipo float) contenga la somma.

    Ciò non accade, perchè??????



  2. #2

    Re: Variabili

    Originariamente inviato da unicorn
    vorrei che $num1 e 2 possano contenere sia valori interi che decimali, e che dopo update il campo val(nel db è dichiatato di tipo float) contenga la somma.

    Ciò non accade, perchè??????
    Perche' ??? cosa succede?

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

  3. #3
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176
    Allora inizialmente avevo scritto:

    $num1=$_POST["num1"];
    $num2=$_POST["num2"];

    in questo modo fa correttamente l'operazione, se inserisco numeri interi, però vorrei anche poer inserire decimali per cui ho usato floatval ma a questo punto non fa più nessuna operazione



  4. #4
    Originariamente inviato da unicorn
    in questo modo fa correttamente l'operazione, se inserisco numeri interi, però vorrei anche poer inserire decimali per cui ho usato floatval ma a questo punto non fa più nessuna operazione
    Ad imitazione del tuo script ho messo giu' il seguente:
    codice:
    $num1 = floatval(25);
    $num2 = floatval(25.24);
    
    if ("plus" == "plus")
    { 
          $x = $num1 + $num2; 
          $sql = "
    update u set val= $x where val = $num1
    ";
    
          echo $sql;
    }
    Ovviamente nella if ho messo "tanto per" avere il TRUE

    Se vedi l'echo $sql vedrai che la stringa e' corretta. Potresti anche fare:
    codice:
    $sql = "
    update u set val = val + $num2 where val = $num1
    ";
    Ancora una cosa... mysql_db_query e' deprecato. Dovresti usare:

    mysql_select_db
    mysql_query


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

  5. #5
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176
    mmmmmmmhhhhhhhhhh!!!!!!!

    scusa ma non mi è chiaro, io devo usare necessariamente
    floatval($_POST["num1"]) perchè si riferisce al valore inserito dall'utente, mentre tu mi consigli floatval(25), a questo punto forse non mi è chiaro l'uso della funz. floatval


    Scusa non ho letto bene ciò che mi hai scritto!!!!

  6. #6
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176
    Ho fatto come mi hai detto ed effettivamente esegue l'operazione correttamente! Ciò mi fa andare in confusione!!!!

  7. #7
    Originariamente inviato da unicorn
    Ho fatto come mi hai detto ed effettivamente esegue l'operazione correttamente! Ciò mi fa andare in confusione!!!!
    floatval() non puo' essere usato con gli array.... Estrai il valore da post e poi lo passi a floatval().


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

  8. #8
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176
    Guarda questo codice

    $conn = @mysql_connect("root"");
    $db=mysql_select_db("db");

    if ($_POST[invio]){

    $a=($_POST["num1"]);
    $b=($_POST["num2"]);
    $num1=floatval($a);
    $num2=floatval($b);


    if ($_POST[operation] == "plus")
    {
    $x = $num1 + $num2;
    echo "operazione=$x
    ";
    $sql=mysql_query("update u set val=$x where budget=$num1");
    echo $sql;
    }

    bene mi stampa la somma corretamente, echo $sql stampa 1 ma non fa l'operazione di agg.

    DISPERAZIONE!!!!!

  9. #9
    ma cosi' non ti connetti manco al server mysql...

    $conn = @mysql_connect("root""); <--- ????

    Metti la segnalazione di errore
    codice:
    $sql = mysql_query("update u set val=$x where budget=$num1") OR DIE(mysql_error());

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

  10. #10
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176
    Ho provato ha eseguire la query

    update u set val=10.5 where val=10.80

    da mysql ma mi dà niente....di niente


    Barcollo nel buio

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.