Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP dodanie do 2 tabel polaczonych kluczami, dodanie do 2 tabel polaczonych kluczami
n0cturnus
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
john_doe
post
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


czolem,

Twój problem związany jest z kluczami, chodzi o to, że ustawiłeś CASCADE.
wklej wicej kodu...
Go to the top of the page
+Quote Post
n0cturnus
post
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 31.03.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 17:38