Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]problem z kluczem obcym
Forum PHP.pl > Forum > Przedszkole
KUDELSKI
Na wstępie chciałem powitać wszystkich smile.gif Mam malutki problem z dodawaniem klucza obcego a dokładniej stworzyłem dwie tabele typu innodb które wyglądają tak

Tabela z danymi klienta
  1. CREATE TABLE daneklienta
  2. (klientid INT NOT NULL AUTO_INCREMENT,
  3. imie CHAR(20) NOT NULL,
  4. nazwisko CHAR(20) NOT NULL,
  5. UNIQUE (klientid),
  6. INDEX klienta (klientid),
  7. PRIMARY KEY (klientid)
  8. ) TYPE=InnoDB;


Oraz table z id klienta z piewszej tabeli
  1. CREATE TABLE danepodrozy
  2. (id_klienta INT NOT NULL,
  3. miasto CHAR(20) NOT NULL,
  4. INDEX klienta_1 (id_klienta),
  5. PRIMARY KEY (id_klienta),
  6. FOREIGN KEY (id_klienta) REFERENCES daneklienta(klientid) ON DELETE CASCADE ON UPDATE CASCADE
  7. ) TYPE=InnoDB;


Tabele się utworzyły już byłem prawie happy w kolejnym kroku poprzez skrypt
Kod
       <?php
       $_POST['klientid'];
       $_POST['imie'];
       $_POST['nazwisko'];
           $_POST['miasto'];
  
       @$db = mysql_pconnect("localhost", "root", "XXXXXX");
       if (!$db)  
           {  
           print "Nie można nawiązać połączenia z bazą danych";
           exit;
           }
      
       mysql_select_db("linielotnicze");
      
       $query = "insert into daneklienta (imie, nazwisko) values ('".$_POST['imie']."', '".$_POST['nazwisko']."')";
       mysql_query($query);
  
       $query = "insert into danepodrozy (miasto) values ('".$_POST['miasto']."')";
       mysql_query($query);
   ?>


Chaiałem aby automatycznie dodawał się klucz obcy z id tego użytkownika oraz miasto do drugiej tabeli danepodróży no ale się nie dodaję, do pierwszej tabeli daneklienta rekordy się dodaja no ale druga jest empty.

Chciałem poprosić o pomoc z tym problemem napewno coś żle robie albo tabele albo skrypt żle napisałem albo nie ma takiej mozliwości aby coś takiego dokonać coś napewno skopałem jestem na etapie początkujący no i mam problemiki. Jak by dało się to jakoś naprawić albo jakoś inaczej wykonać aby zapisywał się klucz bardzo bardzo bardzo bym był wdzięczny za pomoc.
kris2
drugie zapytanie nie ma pojecia o klientid.
Musiał byś po wrzuceniu pierwszego zapytania zapytac o klientid z tabeli daneklienta
nalepiej używając mysql_insert_id()

$query = "insert into danepodrozy (id_klienta,miasto) values ('".$_POST['miasto']."','".mysql_insert_id()."')";

Tutaj masz dokładniejszy opis:
http://dev.mysql.com/doc/refman/5.0/en/get...-unique-id.html
KUDELSKI
Dziękuje ci Kris za pomoc już zwątpiłem że ktoś mi odpisze szukałem tego dłuuugo ale bez żadnych rezultatów zastosowałem to w skrypcie i działa wszystko śmiga smile.gif dziekuję również za link do stronki napewno poczytam i jeszcze raz ci bardzo bardz dziękuje za pomoc.
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.