Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Jak wyczyścić wartość dla pola Float?
luis2luis
post 19.01.2021, 14:38:37
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

Ostrzeżenie: (0%)
-----


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?

Ten post edytował luis2luis 19.01.2021, 14:53:38
Go to the top of the page
+Quote Post
gino
post 20.01.2021, 06:57:55
Post #2





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


number_format
Go to the top of the page
+Quote Post
shpaque
post 21.01.2021, 10:37:20
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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/

Ten post edytował shpaque 21.01.2021, 10:44:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 21:45