Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP dodanie do 2 tabel polaczonych kluczami
Forum PHP.pl > Forum > PHP
n0cturnus
CREATE TABLE `kp` (
`nr` int(4) NOT NULL,
`koszt` int(11) NOT NULL,
`przychod` int(11) NOT NULL,
`czaspracy` int(2) NOT NULL,
`sprzet` varchar(200) character set ucs2 collate ucs2_polish_ci NOT NULL,
`matpobrany` varchar(200) character set latin2 NOT NULL,
`zuzytymaterial` varchar(200) character set latin2 NOT NULL,
`zakresimiejscepracy` varchar(200) character set latin2 NOT NULL,
`data` date NOT NULL,
PRIMARY KEY (`nr`)
)
CREATE TABLE `kp1` (
`nrlini` int(5) NOT NULL auto_increment,
`nrkp` int(5) NOT NULL,
`idprac` int(3) NOT NULL,
PRIMARY KEY (`nrlini`,`nrkp`),
foreign key (nrkp)
references kp(nr)
on update cascade
on delete cascade,
foreign key (idprac)
references pracownicy(id_prac)
on update cascade
on delete cascade)

i teraz tak w pliku wykonującym jest miedzy innymi tak:
switch ($_GET['action']) {
case "dodkp";
switch($_GET['type']){
case "kp";
$sql ="INSERT INTO kp(nr) VALUES ('" . $_POST['nrkp'] . "')";
}break;
if ($_POST['pr'] = "on") {
$sql="INSERT INTO kp1 (nrlini,nrkp,idprac)
Values ('', '" . $_POST['nrkp'] . "', '1')";}
}
i problem jest tego typu :
niepoprawne zapytanieCannot add or update a child row: a foreign key constraint fails (`moja/kp1`, CONSTRAINT `kp1_ibfk_1` FOREIGN KEY (`nrkp`) REFERENCES `kp` (`nr`) ON DELETE CASCADE)

jak zrobić żeby kod PHP wpisal wartości w kp a dopiero później w kp1 jak zaznaczę checbox? tu nie widzi że wpisał w kp i nie może dodać w kp1. oczywiście dane zostają wprowadzone do kp ale do kp1 juz nie.



pozdrawiam
john_doe
czolem,

Twój problem związany jest z kluczami, chodzi o to, że ustawiłeś CASCADE.
wklej wicej kodu...
n0cturnus
więcej kodu dotyczącego tej akcji nie ma. jak zrobić żeby wstawił najpierw do kp jakby "zatwierdził" a dopiero później do kp1.wszystko wykonuje się po 1 kliknięciu przycisku. hmmm nie chce rozbijać tego na 2 str. bezsensu
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.