Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    controllare campo con virgola e tornarlo

    ciao, dovrei controllare un campo con numero in virgola (€).
    Prima di tutto ho cambiato il campo del db da int a float. ho questo script che funziona (ho seri dubbi che sia corretto cmq....), ma ho un dubbio:
    Codice PHP:
    $quota_iscrizione $_POST['quota_iscrizione'];
    if(!empty(
    $_POST['quota_iscrizione']))
    {
    $_POST['quota_iscrizione'] = ereg_replace(',''.'$_POST['quota_iscrizione']);
    if (
    is_numeric($_POST['quota_iscrizione']))
    {
    $quota_iscrizione $_POST['quota_iscrizione'];
    }

    nel db la virgola viene convertita in punto e annullato lo zero, quando andrà a richiamare il campo come vedrò il numero? con virgola e gli zeri dopo la virgola presenti?
    grazie
    Si fanno sempre nuove scoperte

  2. #2
    per i prezzi io utilizzo sempre questa funzione è molto comoda...

    converte un prezzo dal formato float a un formato "valuta" e puoi scegliere se aggiungere l'€ davanti (o dietro, è facilmente modificabile)...

    Spero ti sia utile

    Codice PHP:
        /**
         * Formatta un prezzo trasformando eventuali punti in virgole ed eventualmente aggiungendo il simbolo €  - funziona solo in HTML puro
         *
         * @param number $price
         * @param boolean $symbol
         * @return string            - testo formattato
         */
        
    function fprice($price$symbol true)
        {
            if(
    $symbol)
                return 
    "€ ".number_format($price2","".");
            else
                return 
    number_format($price2","".");
        } 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    grazie, ora do un occhio, ma il campo db come deve essere? float rimane buono?
    Si fanno sempre nuove scoperte

  4. #4
    si float(7,2) o (10,2) in base al prezzo max che pensi possa essere inserito
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  5. #5
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    ho provato a darci un occhio ma non ci capisco molto, mi son infilato in php solo da un mesetto.
    io ho questa stringa che recupera dati da un form, come dovrei implementarla con ciò che mi hai postato tu?
    Codice PHP:
    $quota_iscrizione $_POST['quota_iscrizione']; 
    cmq, la mia prima domanda rimane valida: lo script del primo post è corretto?
    grazie
    Si fanno sempre nuove scoperte

  6. #6
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    direi che rimane buono il mio script, ma ho sostituito ereg_replace con str_replace che è molto più veloce. inoltre i numeri di valuta si scrivono nel db come decimal, che non effettua approssimazioni. per tornare poi la valuta con lo zero (che sul db non ci sarà perchè verrà comunque scritta con . e senza 0 dopo di esso) lo si può fare con number_format.
    Si fanno sempre nuove scoperte

  7. #7
    non è niente di così complicato



    Codice PHP:
    // prima di inserire il valore nel db fai semplicemente un replace dei punti con le virgole, per renderlo conforme al formato float

    $_POST['quota_iscrizione'] = str_replace(",",".",$_POST['quota_iscrizione']);

    // al momento di visualizzare a video il valore preso dal db farai

    $quota_iscrizione fprice($quota_iscrizione,1);   // che ti restituira un prezzo nel formato "€ 12,34" 
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

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.