[PHP] Input type: number, come formattare un PREZZO?

booklisa

Utente Attivo
10 Nov 2016
52
0
6
37
Roma
Salve a tutti,
il mio quesito di oggi riguarda la possibilità di mostrare a video un numero sotto forma di prezzo.
Cosa intendo?

Io raccolgo mediante un form html con un campo input type: "number" di 7 cifre.

Es: sette milioni, bene ora se volessi mostrare in fase di display (quindi quando stampo facendo echo) anzi che
7000000 - 7.000.000,00 ?

Quindi sette milioni scritto con:

1- il puntino tra le centinaia e le migliaia,
2- l'altro puntino tra le migliaia e i milioni,
3- la virgola per i decimali, seguita dai due zeri,

come dovrei fare?

ora raccolgo il numero cosi:

HTML

<label>€ <input class="input" max="9999999" min="100000" name="prezzo" size="7" step="1" type="number" placeholder="Scrivi Prezzo" /></label>

HTML

e stampo così:

PHP
echo '€ '. $prezzo .'<br />';
PHP
 
ciao
se non ho capito male
PHP:
<td><?php echo '€'. number_format($row["prezzo"], 2,",","."); ?></td>
dimenticavo
al posto del simbolo € è meglio mettere &euro;
 
  • Like
Reactions: booklisa
ciao
se non ho capito male
PHP:
<td><?php echo '€'. number_format($row["prezzo"], 2,",","."); ?></td>
dimenticavo
al posto del simbolo € è meglio mettere &euro;


Ciao Borgo Italia, un ulteriore domanda (ma è un di più se non ci fosse risposta non fa nulla, mi hai già aiutata tanto).
La situazione prima della mia modifica era:

€ 645000
€ 190000
€ 90000
€ f. p.
€ 280000

dopo la modifica è

€ 645.000,00
€ 190.000,00
€ 900.000,00

€ 280.000,00

Premetto che il campo che displayo a db è un varchar che consente di inserire il appunto il prezzo e un unico altro valore ovvero f. p. (fuori produzione)

quindi il form è composto dal campo number e dal campo check da flaggare con il valore f. p. (che è predefinito per cui scrive esclusivamente f.p. e null'altro).

posso applicare una regola per non vedere quel buco vuoto e mi tocca riscrivere il tutto? in tal caso levo il check se la questione è molto complicata... lol

Aggiornamento:
Ho tovato questo pezzetto di codice...

if ($prezzo != '' ") {
echo "echo '€'. number_format($row["prezzo"], 2,",",".")";
}
else {
echo "f.p.";
}

Potrebbe funzionare?
 
Ultima modifica:
ciao
non ho capito bene, il campo "prezzo" è vuoto se fuori produzione o nel campo prezzo può esserci 'f.p.' o hai un altro campo che ti dice se il prodotto è fuori produzione?
comunque nel primo caso potresti fare
PHP:
<td>
<?php
if($row["prezzo"]!=""){
    //il campo prezzo non è vuoto
    echo '€'. number_format($row["prezzo"], 2,",",".");
}else{
    //il campo prezzo è vuoto
    echo "fuori produzione";
}
?>
</td>
nel secondo
PHP:
<td>
<?php
if($row["prezzo"]!="f.p."){
    //il campo prezzo non è f.p.
    echo '€'. number_format($row["prezzo"], 2,",",".");
}else{
    //il campo prezzo è f.p.
    echo "fuori produzione";
}
?>
</td>
nel terzo non so come eventualmente chiami il campo quindi metto un nome a caso
PHP:
<?php
// dove con mysql_fetch_ leggi i campi leggi anche il valore $row["produzione"]
?>

<td>
<?php
if($row["produzione"]!="f.p."){
    //il campo prezzo non è f.p.
    echo '€'. number_format($row["prezzo"], 2,",",".");
}else{
    //il campo prezzo è f.p.
    echo "fuori produzione";
}
?>
</td>
 
  • Like
Reactions: booklisa
Ciao,
non so come tu abbia fatto a capireo_O, ma la casistica esatta è quella del "secondo caso";
ovviamente funziona tutto benissimo!:)

...Direi che stai a posto con le buone azioni per Natale!;)

Grazie ancora!:p
 

Discussioni simili