Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]problem z kluczem obcym
KUDELSKI
post 13.08.2007, 17:42:34
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.08.2007

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


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.
Go to the top of the page
+Quote Post
kris2
post 17.08.2007, 20:05:57
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 3
Dołączył: 15.08.2007

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


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
Go to the top of the page
+Quote Post
KUDELSKI
post 18.08.2007, 14:59:17
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 13.08.2007

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


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.
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 Wersja Lo-Fi Aktualny czas: 20.06.2025 - 10:51