Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [PHP] preg_match

  1. #1
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    [PHP] preg_match

    Ho un campo nel DB che si chiama prezzo DECIMAL 7,2
    Ora non sempre il prezzo ha dei decimali, potrebbe essere 10 come 10,50
    Eseguo un controllo:
    Codice PHP:
    if(preg_match("/^[0-9]+.[0-9]{2}$/i"$prezzo)){
        echo 
    "il formatto prezzo e`giusto";
    }else{ 
        echo 
    "non e`giusto"
        } 
    Ora se l'utente mi mette 10 al posto di 10,00 chiaramente mi da errore.
    Ora volevo qualche consiglio su come prendere $prezzo ed aggiungere " ,00 " per poi verificarlo con preg_match



    Gracias!
    ¿Hasta la pasta?

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    if (!strpos($valore, ",")) {
      $valore .= ",00";
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Grazie mille per la tua risposta!!!
    pero se ho
    $valore = 10,50;
    me lo inserisce come $valore = 10,00;


    Effettivamente mi sono spiegato male ora che rileggo il mio 3d.
    Quello che vorrei fare e`: verificare se ha inserito i decimali, in caso contrario lo arrotondo a 10" ,00 " pero se ha inserito correttamente i decimali es: "10,80", devono restate quelli.



    Grazie ancora
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    infatti: io andavo in cerca della virgola... ed in caso l'aggiungevo...

    prova con

    if (strpos($valore, ",")===false)

    come condizione
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    aspetta!!!! mi sto perdendo!!!!
    non ho capito questo: if (strpos($valore, ",")===false) come lo uso?



    Posto il codice interessato:
    Codice PHP:
    $prezzo $_POST["prezzo"];
    //if (strpos($prezzo, ",")===false) questo come lo uso
    if (!strpos($prezzo",")) {
      
    $prezzo .= ",00";
    }
    if (
    preg_match("/^[0-9]{2}-[0-9]{3}-[0-9]{3}$/i"$codice) && preg_match("/([a-zA-Z]+|[0-9]+)$/i"$prodotto) && preg_match("/^[0-9]+.[0-9]{2}$/i"$prezzo)) {
    etc.....

    Ancora una volta grazie!!!
    ¿Hasta la pasta?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Codice PHP:
    $prezzo $_POST["prezzo"];
    //if (strpos($prezzo, ",")===false) questo come lo uso... così ;)
    if (strpos($prezzo",")===false) {
      
    $prezzo .= ",00";
    }
    if (
    preg_match("/^[0-9]{2}-[0-9]{3}-[0-9]{3}$/i"$codice) && preg_match("/([a-zA-Z]+|[0-9]+)$/i"$prodotto) && preg_match("/^[0-9]+.[0-9]{2}$/i"$prezzo)) {
    etc.....

    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Funziona esattamente come volevo io, nella preg_match pero cercava una un "punto" e non una virgola, corretto il tutto, funziona a meraviglia.
    Sei un grande!!!!!
    GRAZIE MILLE!!!!!

    ¿Hasta la pasta?

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.