Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie rekordów a rodzaj przeglądarki
krzesik
post 10.01.2013, 15:23:29
Post #1





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


Mam problem ze skryptem i dodawanie rekordów do tabeli MySQL. Pod IE działa ok dodaje więcej niż jeden rekord (formularz w pętli), a w Mozilli dodaje mi tylko jeden rekord, to jest wina przeglądarki? czy może sią jakieś inne powody? Dla jasności dołączam skrypt dodający dane do bazy.

  1. .......
  2. // wcześniej zapisuję do jednej z tabel nagłówek dokumentu
  3. if ($zapisnaglowka)
  4. {
  5.  
  6. $x = 0;
  7. while(!empty($nazwa_zw[$x]) and !empty($ilosc[$x]) and !empty($cena[$x]))
  8. {
  9. $zapissrodka = @mysql_query("INSERT INTO sprzedaz_srodek SET
  10. typ_dok ='$typ_dok',
  11. id_dok_spr ='$id_dok_spr',
  12. nr_dok_spr ='$NowyNrFaktury/$rok',
  13. data_sprzedazy ='$data_sprzedazy',
  14. nazwa_zw ='$nazwa_zw[$x]',
  15. ilosc ='$ilosc[$x]',
  16. jm ='$jednostka_miary[$x]',
  17. cenaN ='$cena[$x]',
  18. prc_vat ='$prc_vat[$x]',
  19. wartoscbrutto ='$wartoscbrutto[$x]',
  20. wartoscN ='$wartoscnetto[$x]',
  21. wartoscvat ='$wartoscvat[$x]'") or die('Queryproblem: '.mysql_error());
  22. $x++;
  23. }
  24. .........
  25.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzesik
post 10.01.2013, 20:39:24
Post #2





Grupa: Zarejestrowani
Postów: 516
Pomógł: 1
Dołączył: 25.08.2012

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


pod IE tablica Array ma przy dwóch zapisywanych rekordach wypełnione prawidłowo array[0] oraz array[1], a FF wyłącznie array[0]

a może coś tutaj?

  1. $faktura_srodek = array();
  2. $faktura_srodek['nazwa_zw'] = $_POST['nazwa_zw'];
  3. $faktura_srodek['ilosc'] = $_POST['ilosc'];
  4. $faktura_srodek['jednostka_miary'] = $_POST['jednostka_miary'];
  5. $faktura_srodek['cena'] = $_POST['cena'];
  6. $faktura_srodek['wartoscN'] = $_POST['wartoscN'];
  7. $faktura_srodek['prc_vat'] = $_POST['prc_vat'];
  8. $ilosc = str_replace(",",".",$_POST['ilosc']);
  9. $cena = str_replace(",",".",$_POST['cena']);
  10. $jednostka_miary = $_POST['jednostka_miary'];
  11. $prc_vat = $_POST['prc_vat'];
  12. $faktura_brutto = $_POST['faktura_brutto'];
  13.  
  14. ?>
  15.  
  16.  
  17.  
  18. <?php
  19.  
  20. foreach($nazwa_zw as $x => $y)
  21. {
  22. if (!empty($faktura_brutto)) {
  23. $wartoscbrutto[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]));
  24. $wartoscvat[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]))*($prc_vat[$x]/(100+$prc_vat[$x]));
  25. $wartoscnetto[$x] = $wartoscbrutto[$x]-$wartoscvat[$x];
  26. }
  27. else
  28. $wartoscnetto[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]));
  29. $wartoscvat[$x] = round($wartoscnetto[$x]*($prc_vat[$x]/100),2);
  30. $wartoscbrutto[$x] = $wartoscnetto[$x]+$wartoscvat[$x];
  31. }
  32.  
  33. $sprzapisuwrej = "select id_dok_spr from tabela WHERE id_dok_spr='$id_dok_spr";
  34.  
  35. if(mysql_num_rows($sprzapisuwrej) == '0')
  36. {
  37. ........
  38. //dalej już masz
Go to the top of the page
+Quote Post
b4rt3kk
post 10.01.2013, 20:59:58
Post #3





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(krzesik @ 10.01.2013, 20:39:24 ) *
pod IE tablica Array ma przy dwóch zapisywanych rekordach wypełnione prawidłowo array[0] oraz array[1], a FF wyłącznie array[0]

a może coś tutaj?

  1. $faktura_srodek = array();
  2. $faktura_srodek['nazwa_zw'] = $_POST['nazwa_zw'];
  3. $faktura_srodek['ilosc'] = $_POST['ilosc'];
  4. $faktura_srodek['jednostka_miary'] = $_POST['jednostka_miary'];
  5. $faktura_srodek['cena'] = $_POST['cena'];
  6. $faktura_srodek['wartoscN'] = $_POST['wartoscN'];
  7. $faktura_srodek['prc_vat'] = $_POST['prc_vat'];
  8. $ilosc = str_replace(",",".",$_POST['ilosc']);
  9. $cena = str_replace(",",".",$_POST['cena']);
  10. $jednostka_miary = $_POST['jednostka_miary'];
  11. $prc_vat = $_POST['prc_vat'];
  12. $faktura_brutto = $_POST['faktura_brutto'];
  13.  
  14. ?>
  15.  
  16.  
  17.  
  18. <?php
  19.  
  20. foreach($nazwa_zw as $x => $y)
  21. {
  22. if (!empty($faktura_brutto)) {
  23. $wartoscbrutto[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]));
  24. $wartoscvat[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]))*($prc_vat[$x]/(100+$prc_vat[$x]));
  25. $wartoscnetto[$x] = $wartoscbrutto[$x]-$wartoscvat[$x];
  26. }
  27. else
  28. $wartoscnetto[$x] = (str_replace(",",".",$ilosc[$x])*str_replace(",",".",$cena[$x]));
  29. $wartoscvat[$x] = round($wartoscnetto[$x]*($prc_vat[$x]/100),2);
  30. $wartoscbrutto[$x] = $wartoscnetto[$x]+$wartoscvat[$x];
  31. }
  32.  
  33. $sprzapisuwrej = "select id_dok_spr from tabela WHERE id_dok_spr='$id_dok_spr";
  34.  
  35. if(mysql_num_rows($sprzapisuwrej) == '0')
  36. {
  37. ........
  38. //dalej już masz


Na pewno nie, jak widzisz problemem jest gdzieś w jQuery, bo w ogóle nie przesyła wartości dla dynamicznie utworzonych inputów. Wyniki dla print_r($_POST) mówią wszystko na ten temat.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
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: 14.08.2025 - 18:42