![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie, mam kwestię, której nie ogarniam, dlatego proszę o pomoc.
Rzecz ma się tak: Fragment formularza związany z nieszczęsnym kontrahentem. Manipulacje nazwami forumularza, a nawet tabelami nic nie dały.
i dalej coś, czego w ogóle nie mogę rozwiązać, a zapewnie łączy się z powyższym Błąd Cannot add or update a child row: a foreign key constraint fails (`sklepik`.`produkt`, CONSTRAINT `kontrahent` FOREIGN KEY (`idkontrahent`) REFERENCES `kontrahent` (`idkontrahent`) ON DELETE CASCADE ON UPDATE CASCADE) Tabela kontrahentów jest wypełniona, a taki sposób uzupełniania wykorzystuję w kilku miejscach – w jednych działa, w innych nie (zawsze ten sam rodzaj błędu) i nie wiem robię źle. Następnie łączenie produktu z odpowiednią kategorią: Sam produkt uzupełnia się prawidłowo, jednak tabela produkt_has_kategoria pozostaje pusta. Podobne rozwiązanie w przypadku kontrahenta i adresu działa:
Może trochę za dużo tych kodów, ale właśnie rzecz w tym, że tu działa, a tam nie. Jeśli można, proszę mi wskazać co doczytać, aby rozwiązać te problemy (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Nie zagłębiając się w kod, pierwsze co mi się w oczy rzuciło to brak value w option, value czyli wartość jaką wyślesz POSTEM, jeżeli jej nie ma to lipa.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie zagłębiając się w kod, pierwsze co mi się w oczy rzuciło to brak value w option, value czyli wartość jaką wyślesz POSTEM, jeżeli jej nie ma to lipa. Czułam, że z tym to znowu jakiś głupi błąd. Naprawione. Pozostaje kwestia tego błędu: po takich komendach:
Dlaczego mysql_insert_id() nie wyrzuca tego, co powinno? Tabela 'produkt' jest AI. Poza tym w kontrahencie jest analogiczny błąd
Sama sie już w tym mieszam (IMG:style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 317 Pomógł: 58 Dołączył: 6.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak sobie myślę, że skoro $lal jest tablicą to nie możesz jej sobie ot tak wstawić do zapytania (IMG:style_emoticons/default/smile.gif) Spróbuj: |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj: Nie mam słów na siebie. Kiedy chciałam coś takiego zrobić, to nie dałam kropek, czyli było nieprawidłowo zbudowane, czyli nie działało. To jest w porządku. Dziękuję! edit Jednak nie... Ten INSERT wstawia się dwukrotnie: raz wszystkie pola poza kontrahentem drugi wszystko na null, a w kontrahencie prawidłowo połączone id (IMG:http://images43.fotosik.pl/280/d762ebc0ca6a12e4m.jpeg) Ten post edytował loogin 5.04.2010, 17:15:45 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
To zapytanie działa prawidłowo i robi to co ma robić. Najlepiej pokaż cały kod, choć jeśli są to dwa osobne pliki, to może być problem. Jeżeli natomiast jest to jeden plik, to trzeba będzie zmienić kolejność wykonywania zapytań.
Jeżeli kod jest napisany w takiej kolejności, w jakiej go wyświetlałaś i wszystko znajduje się w jednym pliku, to możemy zamiast INSERT użyć UPDATE
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 27.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli kod jest napisany w takiej kolejności, w jakiej go wyświetlałaś i wszystko znajduje się w jednym pliku, to możemy zamiast INSERT użyć UPDATE
Wszystko jest w jednym, krótkim i prostym pliku, więc póki co pozostanę przy zastosowaniu UPDATEu, bo wygląda na to, że w tej chwili sprawdza się najlepiej. Dziękuję wszystkim; jeden formularz, a tyle problemów stworzyłam (IMG:style_emoticons/default/dry.gif) . Całość działa. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 08:02 |