Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Jak wyczyścić wartość dla pola Float?
Forum PHP.pl > Forum > PHP
luis2luis
Witam.

Potrzebuje wpisaną w formularzu wartość dostosować do pola DECIMAL(10,4) w bazie danych.

Próbowałem poprzez FloatVal(). ale z wpisu 100,30 robi mi 100 zamiast 100.30

Jak rozwiązać tą sprawę kompleksowo?
Wystarczy tak jak poniżej?


  1. if (isset($_GET['float_input'])) { $_GET['float_input'] = str_replace(",",".",$_GET['float_input']); }


W zapytaniu SQL jest funkcja mysqli_real_escape_string() i dodatkowo FloatVal() dla tej zmiennej.

Czy mogę jeszcze jakoś lepiej przygotować zapytanie do bazy danych pod dane wpisywane do formularza?
gino
number_format
shpaque
Własnie wczoraj miałęm ten sam problem i nie dość że sobie poradziłem od html5 to jeszcze dopisałem js w razie gdybys potrzebowal np edytujac pole netto aby wskoczylo ci pole brutto (przeliczylo wg zmiennej) lub na odwrot

pola netto i brutto
  1. <input class="form-control text-center" type="number" id="<?php echo $p['id'].'-PriceNetto'; ?>" name="products[<?php echo $number - 1; ?>][priceNetto]" value="<?php echo number_format($p['priceNetto']['value'], 2, '.', ''); ?>" min="0.00" step="0.01" pattern="^\d+(?:\.\d{1,2})?$" onblur="updateBrutto('<?php echo $p['id']; ?>', '<?php echo $p['tax']['value']; ?>');"/>
  2. <input class="form-control text-center" type="number" id="<?php echo $p['id'].'-PriceBrutto'; ?>" name="products[<?php echo $number - 1; ?>][priceBrutto]" value="<?php echo number_format($p['priceBrutto']['value'], 2, '.', ''); ?>" min="0.00" step="0.01" pattern="^\d+(?:\.\d{1,2})?$" onblur="updateNetto('<?php echo $p['id']; ?>', '<?php echo $p['tax']['value']; ?>');"/>


a kod js/jquery

  1. function updateBrutto(id, tax) {
  2. var vat = tax;
  3. var inputNetto = $('#' + id + '-PriceNetto');
  4. var nettoValue = $(inputNetto).val();
  5. var bruttoValue = 0;
  6.  
  7. if (vat !== 'ZW') {
  8. nettoValue = parseFloat(nettoValue);
  9. bruttoValue = parseFloat(nettoValue) + parseFloat(vat * nettoValue / 100);
  10. }
  11.  
  12. return [
  13. $(inputNetto).val(nettoValue.toFixed(2)),
  14. $('#' + id + '-PriceBrutto').val(bruttoValue.toFixed(2))
  15. ];
  16. }
  17.  
  18. function updateNetto(id, tax) {
  19. var vat = tax;
  20. var inputBrutto = $('#' + id + '-PriceBrutto');
  21. var bruttoValue = $(inputBrutto).val();
  22. var nettoValue = 0;
  23.  
  24. if (vat !== 'ZW') {
  25. bruttoValue = parseFloat(bruttoValue);
  26. nettoValue = parseFloat(bruttoValue) / parseFloat('1.' + vat);
  27. }
  28.  
  29. return [
  30. $(inputBrutto).val(parseFloat(bruttoValue).toFixed(2)),
  31. $('#' + id + '-PriceNetto').val(nettoValue.toFixed(2))
  32. ];
  33. }


tu masz przykład jak działa sam js

https://jsfiddle.net/6v3Lrgja/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.