[MySQL][PHP]Dane nie są dodawanee do bazy |
[MySQL][PHP]Dane nie są dodawanee do bazy |
1.08.2015, 18:26:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
Witam,
walczę z takim przypadkiem, że nie mogę dodać danych do bazy. Oto kod formularza:
a to jest kod dodający do bazy:
Struktura bazy jest następująca: tabela tb_laczniki_main: Lacznik ID (podstawowy, a.i.), Nazwa, Material, Norma i inne tabela th_laczniki_wyjscie: LaczWydID (podstawowy, a.i.), LacznikID (indeks do tb_laczniki_main LacznikID), DataZam, NrZam, IloscZam, Cito i inne. Będę wdzięczny za sugestie, co poknociłem. A przy okazji, jak mogę zrobić auto inkrementację kolumny NrZam? szakal |
|
|
1.08.2015, 18:38:04
Post
#2
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) |
zrob : echo "INSERT INTO tb_laczniki_wyjscie (LacznikID, DataZam, IloscZam, Cito) VALUES ('".$LacznikID."', '".$DataZam."', '".$IloscZam."', '".$Cito."')" a nastepnie wklej zapytanie do bazy danych i zobacz jak blad wyskoczy.
|
|
|
1.08.2015, 18:52:13
Post
#3
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
a gdzie mam to echo użyć? W pliku z formularzem, czy tym przekazującym dane do bazy? Czy też bezpośrednio w phpmyadminie w zakładce SQL?
|
|
|
1.08.2015, 18:58:47
Post
#4
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 9 Dołączył: 11.10.2010 Skąd: Kraków Ostrzeżenie: (0%) |
W pliku, by zobaczyć jak podstawiane są wartości do zapytania, a następnie wygenerowane zapytanie do PMA by zobaczyć co zwraca
-------------------- Podchodź pozytywnie do swojego kodu :)
|
|
|
1.08.2015, 19:38:19
Post
#5
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
A możesz mi tak łopatologicznie powiedzieć, co i jak?
W pliku mam wpisać tylko coś takiego?
i wywołać ten plik? |
|
|
1.08.2015, 19:45:54
Post
#6
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) |
to co zwróci echo wklep jako zapytanie do bazy np w phpmyadmin
Ten post edytował Fred1485 1.08.2015, 19:46:30 -------------------- |
|
|
1.08.2015, 20:17:26
Post
#7
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
W oknie przeglądarki pojawiło mi się to: INSERT INTO tb_laczniki_wyjscie (LacznikID, DataZam, IloscZam, Cito) VALUES ('', '', '', '')
Wrzuciłem to do PMA i mam to: #1452 - Cannot add or update a child row: a foreign key constraint fails (`mz_warehouse`.`tb_laczniki_wyjscie`, CONSTRAINT `tb_laczniki_wyjscie_ibfk_1` FOREIGN KEY (`LacznikID`) REFERENCES `tb_laczniki_main` (`LacznikID`) ON DELETE CASCADE ON UPDATE CASCADE) #1452 - Cannot add or update a child row: a foreign key constraint fails (`mz_warehouse`.`tb_laczniki_wyjscie`, CONSTRAINT `tb_laczniki_wyjscie_ibfk_1` FOREIGN KEY (`LacznikID`) REFERENCES `tb_laczniki_main` (`LacznikID`) ON DELETE CASCADE ON UPDATE CASCADE) |
|
|
1.08.2015, 20:21:11
Post
#8
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Dodajesz do bazy puste wartosci i dodatkowo masz poustawiane klucze obce, które nie potrafią znaleźć relacji dla pustej wartości.
Sprawdź dlaczego zmienne które wstawiasz do zapytania są puste. |
|
|
1.08.2015, 20:34:22
Post
#9
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
No i tu mam zgryz, bo nie mam pojęcia, czy to co podałem na początku jest dobre. Zwłaszcza mam na myśli listę rozwijaną.
Dokładnie chodzi o tę linię:
Wstawiłem ją po to, aby wyświetlały się te dane z bazy i żeby można było wybrać w ten sposób łączniki. Możesz to ocenić? Szczegółowe wyjaśnienia są tu: http://forum.php.pl/index.php?showtopic=24...p;#entry1166791 |
|
|
1.08.2015, 20:57:17
Post
#10
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) |
Przesyłasz dane POSTem, czy po przesłaniu przepisujesz je do zmiennych
$LacznikID, $DataZam, $IloscZam, $Cito? Skoro nie działa to pewnie nie. Wydaje mi się, że wystarczy wstawić:
przed
Ale tak czy inaczej warto pomyśleć o sprawdzaniu czy w ogóle jakieś dane zostały przesłane do skryptu i czy mamy co zapisywać. Ten post edytował kapslokk 1.08.2015, 20:59:49 |
|
|
4.08.2015, 06:55:24
Post
#11
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 0 Dołączył: 23.04.2010 Ostrzeżenie: (0%) |
OO, super! Zadziałało
Jednakże przy opcji 'Cito" (zamówienie pilne) bez względu na to, czy zaznaczę kwadrat, czy nie, to nic się nie dzieje - w bazie mam 0. I tak samo jest z datą. Data w formularzu wstawiona jest przez opcję Znalazłem takie rozwiązanie: , ale nie za bardzo wiem, jak to połączyć z resztą Zaś "Cito" to checkbox z wartością value="tak". A jest możliwość dodawania większej ilości danych za jednym razem? Myślę tu o jakimś rozwiązaniu, że pobierane są - w formie tabeli - wszystkie łączniki z tabeli tb_laczniki_main z dodatkowym polem IloscZam, które się wypełnia i całość później pcha do bazy. Tak, żeby nie trzeba było dodawać łączników pojedynczo, tylko wszystkie na raz. Odpowiem sam sobie Kwestia dodawania daty do bzy, to wpisałem w wartościach VALUE po prostu NOW() i jest ok.
Z kolei kwestia chceckbox'a - zamiast "tak" powinno być 1, bo w bazie zdefiniowałem parametry tego pola jako INT (1). Czyli temat mogę zamknąć. Dzięki za pomoc :) |
|
|
4.08.2015, 07:06:06
Post
#12
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 22 Dołączył: 17.11.2007 Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 19:07 |