Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Błąd przy wysyłaniu danych z checkbox i input do bazy danych
timeo
post 27.02.2017, 21:23:53
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 28.06.2011

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


Witajcie.

Mam kod jak poniżej i próbuję wysłać wartiości input przy Checkbox, ale niestety nie chce mi działać tak jak powinno. Zaznaczam co drugi checkbox i wpisuje wartości przy nich. Niestety w bazie wartości zapisywane są źle. To znaczy
1 zaznaczony checkbox - wartości 1 1 1 (w bazie też te wartości)
2 zaznaczony checkbox - wartości 2 2 2 (w bazie wartości 0 0 0)
3 zaznaczony checkbox - wartości 3 3 3 (w bazie wartości 2 2 2)
4 zaznaczony checkbox - wartości 4 4 4 (w bazie wartości 0 0 0 )
5 zaznaczony checkbox - wartości 5 5 5 (w bazie wartości 3 3 3)

Poniżej kod

  1. <div class= "col-md-12">
  2. <div class="form-group">
  3. <div class="checkbox">
  4. <div class= "col-md-3">
  5. <input type="checkbox" name="category[]" value="Szkło Hartowane"><b>Szkło Hartowane</b></div>
  6. <div class= "col-md-3">
  7. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  8. <div class= "col-md-3">
  9. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  10. <div class= "col-md-3">
  11. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value="" readonly></div>
  12. <input type="hidden" name="ilosc[]" value="1">
  13. </div></div></div>
  14.  
  15. <div class= "col-md-12">
  16. <div class="form-group">
  17. <div class="checkbox">
  18. <div class= "col-md-3">
  19. <input type="checkbox" name="category[]" value="LCD">LCD</div>
  20. <div class= "col-md-3">
  21. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  22. <div class= "col-md-3">
  23. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  24. <div class= "col-md-3">
  25. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value="" ></div>
  26. <input type="hidden" name="ilosc[]" value="1">
  27. </div></div></div>
  28.  
  29. <div class= "col-md-12">
  30. <div class="form-group">
  31. <div class="checkbox">
  32. <div class= "col-md-3">
  33. <input type="checkbox" name="category[]" value="LCD z ramką">LCD z ramką</div>
  34. <div class= "col-md-3">
  35. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  36. <div class= "col-md-3">
  37. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  38. <div class= "col-md-3">
  39. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  40. <input type="hidden" name="ilosc[]" value="1">
  41. </div></div></div>
  42.  
  43. <div class= "col-md-12">
  44. <div class="form-group">
  45. <div class="checkbox">
  46. <div class= "col-md-3">
  47. <input type="checkbox" name="category[]" value="Digitizer">Digitizer</div>
  48. <div class= "col-md-3">
  49. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  50. <div class= "col-md-3">
  51. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  52. <div class= "col-md-3">
  53. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  54. <input type="hidden" name="ilosc[]" value="1">
  55. </div></div></div>
  56.  
  57. <div class= "col-md-12">
  58. <div class="form-group">
  59. <div class="checkbox">
  60. <div class= "col-md-3">
  61. <input type="checkbox" name="category[]" value="Szyba">Szyba</div>
  62. <div class= "col-md-3">
  63. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  64. <div class= "col-md-3">
  65. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  66. <div class= "col-md-3">
  67. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  68. <input type="hidden" name="ilosc[]" value="1">
  69. </div></div></div>
  70.  
  71.  
  72. <div class= "col-md-12">
  73. <div class="form-group">
  74. <div class="checkbox">
  75. <div class= "col-md-3">
  76. <input type="checkbox" name="category[]" value="Klapka">Klapka</div>
  77. <div class= "col-md-3">
  78. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  79. <div class= "col-md-3">
  80. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  81. <div class= "col-md-3">
  82. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  83. <input type="hidden" name="ilosc[]" value="1">
  84. </div></div></div>
  85.  
  86. <div class= "col-md-12">
  87. <div class="form-group">
  88. <div class="checkbox">
  89. <div class= "col-md-3">
  90. <input type="checkbox" name="category[]" value="Port SIM">Port SIM</div>
  91. <div class= "col-md-3">
  92. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  93. <div class= "col-md-3">
  94. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  95. <div class= "col-md-3">
  96. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  97. <input type="hidden" name="ilosc[]" value="1">
  98. </div></div></div>
  99.  
  100. <div class= "col-md-12">
  101. <div class="form-group">
  102. <div class="checkbox">
  103. <div class= "col-md-3">
  104. <input type="checkbox" name="category[]" value="Gniazo USB">Gniazdo USB</div>
  105. <div class= "col-md-3">
  106. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  107. <div class= "col-md-3">
  108. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  109. <div class= "col-md-3">
  110. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  111. <input type="hidden" name="ilosc[]" value="1">
  112. </div></div></div>
  113.  
  114. <div class= "col-md-12">
  115. <div class="form-group">
  116. <div class="checkbox">
  117. <div class= "col-md-3">
  118. <input type="checkbox" name="category[]" value="Kamera">Kamera</div>
  119. <div class= "col-md-3">
  120. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  121. <div class= "col-md-3">
  122. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  123. <div class= "col-md-3">
  124. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  125. <input type="hidden" name="ilosc[]" value="1">
  126. </div></div></div>
  127.  
  128. <div class= "col-md-12">
  129. <div class="form-group">
  130. <div class="checkbox">
  131. <div class= "col-md-3">
  132. <input type="checkbox" name="category[]" value="Naprawa Płyty Głównej">Naprawa Płyty G.</div>
  133. <div class= "col-md-3">
  134. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" readonly></div>
  135. <div class= "col-md-3">
  136. <input type="number" step="0.01" class="form-control" name="netto[]" readonly></div>
  137. <div class= "col-md-3">
  138. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  139. <input type="hidden" name="ilosc[]" value="1">
  140. </div></div></div>
  141.  
  142. <div class= "col-md-12">
  143. <div class="form-group">
  144. <div class="checkbox">
  145. <div class= "col-md-3">
  146. <input type="checkbox" name="category[]" value="Diagnoza">Diagnoza</div>
  147. <div class= "col-md-3">
  148. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" readonly></div>
  149. <div class= "col-md-3">
  150. <input type="number" step="0.01" class="form-control" name="netto[]" readonly></div>
  151. <div class= "col-md-3">
  152. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  153. <input type="hidden" name="ilosc[]" value="1">
  154. </div></div></div></div></div>
  155.  



Oraz kod do wysyłania do bazy danych

  1. foreach($_POST['category'] as $id=>$value){
  2. $czesc = $db -> prepare("INSERT ticketnaprawa SET ilosc = :ilosc, ticket = :ticket, czesc = :czesc, kolor = :kolor, model = :model, cenaczesci = :cenaczesci, netto = :netto, cenawymiany = :cenawymiany");
  3. $czesc -> bindValue(':ilosc', $_POST['ilosc'][$id], PDO::PARAM_INT);
  4. $czesc -> bindValue(':ticket', $_POST['ticket'], PDO::PARAM_INT);
  5. $czesc -> bindValue(':czesc', $_POST['category'][$id], PDO::PARAM_INT);
  6. $czesc -> bindValue(':kolor', $_POST['kolor'], PDO::PARAM_STR);
  7. $czesc -> bindValue(':model', $_POST['model'], PDO::PARAM_STR);
  8. $czesc -> bindValue(':cenaczesci', $_POST['cenaczesci'][$id], PDO::PARAM_INT);
  9. $czesc -> bindValue(':netto', $_POST['netto'][$id], PDO::PARAM_INT);
  10. $czesc -> bindValue(':cenawymiany', $_POST['cenawymiany'][$id], PDO::PARAM_INT);
  11.  
  12.  
  13. $czesc -> execute();
  14.  
  15. }
  16.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
timeo
post 28.02.2017, 19:11:18
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 28.06.2011

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


Proszę bardzo.

  1. <div class= "col-md-12">
  2. <div class="form-group">
  3. <div class="checkbox">
  4. <div class= "col-md-3">
  5. <input type="checkbox" name="category[]" value="Ramka">Ramka</div>
  6. <div class= "col-md-3">
  7. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  8. <div class= "col-md-3">
  9. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  10. <div class= "col-md-3">
  11. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  12. <input type="hidden" name="ilosc[]" value="1">
  13. </div></div></div>
  14.  
  15. <div class= "col-md-12">
  16. <div class="form-group">
  17. <div class="checkbox">
  18. <div class= "col-md-3">
  19. <input type="checkbox" name="category[]" value="Korpus">Korpus</div>
  20. <div class= "col-md-3">
  21. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  22. <div class= "col-md-3">
  23. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  24. <div class= "col-md-3">
  25. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  26. <input type="hidden" name="ilosc[]" value="1">
  27. </div></div></div>
  28.  
  29. <div class= "col-md-12">
  30. <div class="form-group">
  31. <div class="checkbox">
  32. <div class= "col-md-3">
  33. <input type="checkbox" name="category[]" value="Bateria">Bateria</div>
  34. <div class= "col-md-3">
  35. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  36. <div class= "col-md-3">
  37. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  38. <div class= "col-md-3">
  39. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  40. <input type="hidden" name="ilosc[]" value="1">
  41. </div></div></div>
  42.  
  43. <div class= "col-md-12">
  44. <div class="form-group">
  45. <div class="checkbox">
  46. <div class= "col-md-3">
  47. <input type="checkbox" name="category[]" value="Klapka">Klapka</div>
  48. <div class= "col-md-3">
  49. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  50. <div class= "col-md-3">
  51. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  52. <div class= "col-md-3">
  53. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  54. <input type="hidden" name="ilosc[]" value="1">
  55. </div></div></div>
  56.  
  57. <div class= "col-md-12">
  58. <div class="form-group">
  59. <div class="checkbox">
  60. <div class= "col-md-3">
  61. <input type="checkbox" name="category[]" value="Port SIM">Port SIM</div>
  62. <div class= "col-md-3">
  63. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  64. <div class= "col-md-3">
  65. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  66. <div class= "col-md-3">
  67. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  68. <input type="hidden" name="ilosc[]" value="1">
  69. </div></div></div>
  70.  
  71. <div class= "col-md-12">
  72. <div class="form-group">
  73. <div class="checkbox">
  74. <div class= "col-md-3">
  75. <input type="checkbox" name="category[]" value="Gniazo USB">Gniazdo USB</div>
  76. <div class= "col-md-3">
  77. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  78. <div class= "col-md-3">
  79. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  80. <div class= "col-md-3">
  81. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  82. <input type="hidden" name="ilosc[]" value="1">
  83. </div></div></div>
  84.  
  85. <div class= "col-md-12">
  86. <div class="form-group">
  87. <div class="checkbox">
  88. <div class= "col-md-3">
  89. <input type="checkbox" name="category[]" value="Kamera">Kamera</div>
  90. <div class= "col-md-3">
  91. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" value=""></div>
  92. <div class= "col-md-3">
  93. <input type="number" step="0.01" class="form-control" name="netto[]" value=""></div>
  94. <div class= "col-md-3">
  95. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  96. <input type="hidden" name="ilosc[]" value="1">
  97. </div></div></div>
  98.  
  99. <div class= "col-md-12">
  100. <div class="form-group">
  101. <div class="checkbox">
  102. <div class= "col-md-3">
  103. <input type="checkbox" name="category[]" value="Naprawa Płyty Głównej">Naprawa Płyty G.</div>
  104. <div class= "col-md-3">
  105. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" readonly></div>
  106. <div class= "col-md-3">
  107. <input type="number" step="0.01" class="form-control" name="netto[]" readonly></div>
  108. <div class= "col-md-3">
  109. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  110. <input type="hidden" name="ilosc[]" value="1">
  111. </div></div></div>
  112.  
  113. <div class= "col-md-12">
  114. <div class="form-group">
  115. <div class="checkbox">
  116. <div class= "col-md-3">
  117. <input type="checkbox" name="category[]" value="Diagnoza">Diagnoza</div>
  118. <div class= "col-md-3">
  119. <input type="number" step="0.01" class="form-control" name="cenaczesci[]" readonly></div>
  120. <div class= "col-md-3">
  121. <input type="number" step="0.01" class="form-control" name="netto[]" readonly></div>
  122. <div class= "col-md-3">
  123. <input type="number" step="0.01" class="form-control" name="cenawymiany[]" value=""></div>
  124. <input type="hidden" name="ilosc[]" value="1">
  125. </div></div></div></div></div>
  126.  
  127.  
  128.  
  129.  
  130.  
  131. <input type="submit" id="d2d" name="d2d" value="Dodaj serwis">
  132.  
  133. </form>
  134.  
  135. <?php
  136.  
  137. if(isset($_POST['d2d']))
  138.  
  139. {
  140.  
  141. $total = count($_POST['category']);
  142. if($total <> '0')
  143. {
  144. $i = 0;
  145. while($i < $total)
  146. {
  147. if($i == '0') $number = $_POST['category'][$i]; else $number .= ','.$_POST['category'][$i].'';
  148.  
  149. $explode = explode(',', $number);
  150. $czesc = $db -> prepare("INSERT ticketnaprawa SET ilosc = :ilosc, ticket = :ticket, czesc = :czesc, cenaczesci = :cenaczesci, netto = :netto, cenawymiany = :cenawymiany");
  151. $czesc -> bindValue(':ilosc', $_POST['ilosc'][$i], PDO::PARAM_INT);
  152. $czesc -> bindValue(':ticket', $_POST['ticket'], PDO::PARAM_INT);
  153. $czesc -> bindValue(':czesc', $_POST['category'][$i], PDO::PARAM_INT);
  154. $czesc -> bindValue(':cenaczesci', $_POST['cenaczesci'][$i], PDO::PARAM_INT);
  155. $czesc -> bindValue(':netto', $_POST['netto'][$i], PDO::PARAM_INT);
  156. $czesc -> bindValue(':cenawymiany', $_POST['cenawymiany'][$i], PDO::PARAM_INT);
  157.  
  158.  
  159. $czesc -> execute();
  160.  
  161.  
  162.  
  163. $i++;
  164. }
  165. }
  166.  
  167.  
  168.  
  169.  
  170. var_dump($_POST);
  171.  
  172. }


  1. array(7) { ["ticket"]=> string(9) "987987987" ["category"]=> array(6) { [0]=> string(16) "Szkło Hartowane" [1]=> string(12) "LCD z ramką" [2]=> string(5) "Szyba" [3]=> string(6) "Korpus" [4]=> string(6) "Klapka" [5]=> string(10) "Gniazo USB" } ["cenaczesci"]=> array(14) { [0]=> string(1) "1" [1]=> string(0) "" [2]=> string(1) "2" [3]=> string(0) "" [4]=> string(1) "3" [5]=> string(0) "" [6]=> string(1) "4" [7]=> string(0) "" [8]=> string(1) "5" [9]=> string(0) "" [10]=> string(1) "6" [11]=> string(0) "" [12]=> string(0) "" [13]=> string(0) "" } ["netto"]=> array(14) { [0]=> string(1) "1" [1]=> string(0) "" [2]=> string(1) "2" [3]=> string(0) "" [4]=> string(1) "3" [5]=> string(0) "" [6]=> string(1) "4" [7]=> string(0) "" [8]=> string(1) "5" [9]=> string(0) "" [10]=> string(1) "6" [11]=> string(0) "" [12]=> string(0) "" [13]=> string(0) "" } ["cenawymiany"]=> array(14) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(1) "2" [3]=> string(0) "" [4]=> string(1) "3" [5]=> string(0) "" [6]=> string(1) "4" [7]=> string(0) "" [8]=> string(1) "5" [9]=> string(0) "" [10]=> string(1) "6" [11]=> string(0) "" [12]=> string(0) "" [13]=> string(0) "" } ["ilosc"]=> array(14) { [0]=> string(1) "1" [1]=> string(1) "1" [2]=> string(1) "1" [3]=> string(1) "1" [4]=> string(1) "1" [5]=> string(1) "1" [6]=> string(1) "1" [7]=> string(1) "1" [8]=> string(1) "1" [9]=> string(1) "1" [10]=> string(1) "1" [11]=> string(1) "1" [12]=> string(1) "1" [13]=> string(1) "1" } ["d2d"]=> string(12) "Dodaj serwis" }


Nasunęło mi się pytanie jak te inputy poniżej checkbox przypisać do podstawowego checkbox? Bo to co wysyłane jest do bazy to tablica wszystkich wysłanych inputow ale nie przyporzadkowana do checkbox
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.06.2025 - 03:06