Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie INSERT w pętli
Forum PHP.pl > Forum > Przedszkole
janusz851
Witam. Być może problem jest banalny, ale męcze się z nim od dłuższego czasu. Chciałbym zapętlić zapytanie , lecz do bazy zwracany jest tylko jeden rekord. Bardzo proszę o wskazanie błędu. Z góry dziękuje.

Kod:
  1. $query = mysql_query("
  2. INSERT INTO faktura_prod(faktura_id, lp, nazwa_towaru, jm, ilosc, cena_netto, rabat, stawka_vat, wartosc_netto, wartosc_vat, wartosc_brutto)
  3. values('$faktura_idsprz[0]','$i', '$nazwa_prod[$i]', '', '$ilosc[$i]', '$cena_netto[$i]', '', '$stawka_vat[$i]', '$wartosc_netto[$i]', '$kwota_vat[$i]', '$wartosc_brutto[$i]')
  4. ");
Pyton_000
Pewnie nie masz pętli
janusz851
  1. for ($i = 1; $i <=$nazwa; $i++) {
  2.  
  3. $query = mysql_query("
  4. INSERT INTO faktura_prod(faktura_id, lp, nazwa_towaru, jm, ilosc, cena_netto, rabat, stawka_vat, wartosc_netto, wartosc_vat, wartosc_brutto)
  5. values('$faktura_idsprz[0]','$i', '$nazwa_prod[$i]', '', '$ilosc[$i]', '$cena_netto[$i]', '', '$stawka_vat[$i]', '$wartosc_netto[$i]', '$kwota_vat[$i]', '$wartosc_brutto[$i]')
  6. ");
  7.  
  8.  
  9.  
  10. };
Szymas
Czy w values nie powinno być
  1. $faktura_idsprz[$i]
janusz851
Nie, ta zmienna jest stala. Przypisuje nr faktury do pozycji.
johny_s
A co masz w $nazwa?
janusz851
  1. $nazwa = count($nazwa_prod);


Liczy ile jest pół z nazwą produktu, dodam jeszcze, że wszystkie kolumny są dodawane porawnie do bazy, lecz dodaje tylko jeden wiersz. Jak w pętli dodam echo $nazwa_prod[$i]; wyswietla mi wszystkie produkty.
johny_s
wyświetl sobie wszystkie zapytania i wklepaj ręcznie do bazy

ps
faktura_id nie ma czasem uniq'a?
janusz851
To musi byc dynamiczne, wiec wpisywanie reczne nie wchodzi w gre. Jeżeli chodzi o faktura_id to nie ma zaznaczonej auto inkrementacji.
johny_s
nie pytałem o autoincremet tylko unique

jak Ci się nie chce wklepywać z palca to przynajmniej dorzuc mysql_error
Damonsson
Zamiast bawić się w Tadeusza Sznuka,
najpierw zrób sobie
  1. echo $nazwa; die;
i zobacz czy rzeczywiście tam jest liczba większa od 1, jeśli tak to włącz wyświetlanie błędów i zobacz sam, albo pokaż nam co Ci pokazuje.
Szymas
Ewentualnie jak tam będzie wszytko w porządku to sprawdź czy MySQL nie wyrzuca jakiegoś błędu za pomocą mysql_errno() oraz mysql_error().
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.