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