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%)
-----


Próba zapisu do bazy nie powiodła się sukcesem z dwóch powodów, pierwszy jest taki że total nie jest inputem więc w bazie jest zapisywany NULL, a drugi powód jest taki że przy kilku liniach jest zapisywana tylko jedna czyli ta z ostatniego li.

Kod który wykorzystuje do zapisania w bazie wygląda następująco:
  1. <?php
  2.  
  3. try
  4. {
  5. $pdo = new PDO('mysql:host=localhost;dbname=zpe5', 'root', '');
  6. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7. $pdo->exec('SET NAMES "utf8"');
  8. }
  9. catch (PDOException $e)
  10. {
  11. $error = 'Nie można nawiązać połączenia z serwerem bazy danych.';
  12. //include 'error.html.php';
  13. exit();
  14. }
  15.  
  16. if (isset($_POST['weight']) OR isset($_POST['percent']) OR isset($_POST['additional']) OR isset($_POST['income_sum']) OR isset($_POST['total']))
  17. {
  18. try
  19. {
  20. $sql = 'CREATE TABLE IF NOT EXISTS `frominput` (
  21. weight INT(10),
  22. percent float,
  23. additional float,
  24. income_sum float,
  25. total float
  26. );
  27. INSERT INTO frominput SET
  28. weight = :weight,
  29. percent = :percent,
  30. additional = :additional,
  31. income_sum = :income_sum,
  32. total = :total';
  33. $s = $pdo->prepare($sql);
  34. $weight = $_POST['weight'];
  35. $percent = $_POST['percent'];
  36. $additional = $_POST['additional'];
  37. $income_sum = $_POST['income_sum'];
  38. $total = $_POST['total'];
  39. $s->bindValue(':weight', $_POST['weight']);
  40. $s->bindValue(':percent', $_POST['percent']);
  41. $s->bindValue(':additional', $_POST['additional']);
  42. $s->bindValue(':income_sum', $_POST['income_sum']);
  43. $s->bindValue(':total', $_POST['total']);
  44. $s->execute();
  45. }
  46. catch (PDOException $e)
  47. {
  48. $error = 'Błąd przy zapisie: ' . $e->getMessage();
  49. //include 'error.html.php';
  50. exit();
  51. }
  52.  
  53. //header('Location: .');
  54. //exit();
  55. }
  56.  
  57. ?>
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: 12.10.2025 - 22:01