Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][jQuery] dodanie wierszy i przeliczenie
lustfingers
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 18.03.2015

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


W ramach nauki programowania zacząłem pisać formularz który może pomóc mi wykonywać codzienne obliczenia, znudził mi sie excel a jak to ogarnę to spróbuję jeszcze dopisać zapis i odczyt z bazy danych.

Mam to:
https://jsfiddle.net/mq3da7kb/3/

  1. Weight: <input type="text" name="weight" id = "weight" value="" /><br/><br/>
  2.  
  3.  
  4. Line: <input type="text" name="percent" id = "percent" value="" />
  5. <input type="text" name="additional" id = "additional" value="" />
  6. Line total: <span class="total"></span>
  7. <br/>+<br/>
  8. <p>Total percent (from #percent): </p>


  1. $("#additional, #percent, #weight").on('keyup',function(){
  2. var total= $("#weight").val() * $("#percent").val() / (100 -$("#additional").val())
  3. $(".total").html(total.toFixed(2));
  4. })
  5.  


Wiersz Line ma sie powielać gdy przyciśniemy na + natomiast Weight ma występować tylko raz ponieważ będzie identyczny dla każdego Line, a Total percent ma zliczać z każdego Line wartości.

Potrzebuje nakierowania jak dodać możliwość powielania wierszy? Za pewne będę musiał przerobić skrypt i dodać jakąś inkrementacje dla każdego id żeby dobrze zliczało każdą linię oddzielnie? Macie może jakieś przykłady takiego formularza albo coś na czym mógłbym się uczyć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lustfingers
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 18.03.2015

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


Ok, teraz są przekazywane w tablicy tylko jak to zapisać do bazy? Gdy próbuję tak:

  1. if (isset($_POST['weight']) OR isset($_POST['percent']) OR isset($_POST['additional']) OR isset($_POST['income_sum']) OR isset($_POST['total']))
  2. {
  3. try
  4. {
  5. $percent = $_POST['percent'];
  6. $additional = $_POST['additional'];
  7. foreach($percent as $percent):
  8. foreach($additional as $additional):
  9. $sql = 'CREATE TABLE IF NOT EXISTS `frominput` (
  10. weight INT(10),
  11. percent float,
  12. additional float,
  13. income_sum float,
  14. total float
  15. );
  16. INSERT INTO frominput SET
  17. percent = :percent,
  18. additional = :additional';
  19. $s = $pdo->prepare($sql);
  20. $s->bindValue(':percent', $percent);
  21. $s->bindValue(':additional', $additional);
  22. $s->execute();
  23. endforeach;
  24. endforeach;
  25. }


To zapisuje sie do bazy tylko wartości z additional natomiast te z percent już nie.

W powyższym kodzie zamieniłem to

  1. $percent = $_POST['percent'];
  2. $additional = $_POST['additional'];
  3. foreach($percent as $percent):
  4. foreach($additional as $additional):


na to

  1. $percents = $_POST['percent'];
  2. $additionals = $_POST['additional'];
  3. foreach($percents as $percent):
  4. foreach($additionals as $additional):


I teraz zapisuje do bazy natomiast nie w sposób chciany gdy np. uzupełnię 2 linie + trzecia linia ukryta to w bazie powinno być 3 wpisy natomiast jest ich 9.

Powinno być np.:

|0|0|- ukryty input
|1|3|- wartości z inputa 1
|2|4|- wartości z inputa 2

a robi mi kombinacje wszystkich:

|0|0|
|0|3|
|0|4|
|1|0|
|1|3|
|1|4|
|2|0|
|2|3|
|2|4|

Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 09:59