Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodawnie danych do 4 tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
t_freak
Witam, na początku chcę tylko wspomnieć że raczkuje w temacie MySQL i PHP i chcąc się zmierzyć z owymi tematami próbuję zbudować internetową bazę danych z wykorzystaniem MySQL oraz PHP. Problem polega na tym iż kiedy dodaje dane do tabel wszystko pięknie wpada, ale nie zgadza się nr abonent_id w tabelach rozdzielczy i obiekt, np. kiedy dodam rekord a id tego rekordu będzie 30 to w tabeli magistrala tez jest 30, ale już w tabeli rozdzielczy je np. 18 a w obiekt 8 i tu mam problem, nie wiem czemu tylko w tych dwóch tabelach mam abonent_id zaniżone, niżej przedstawiam tabele oraz kod jakiego używam

mam 4 tabele:
1. abonent
abonent_id autoincrement
nazwisko
imie
miejscowosc

2.obiekt
obiekt_id auto increment
abonent_id
nazwa_obiektu

3.magistrala
magistrala_id auto increment
abonent_id
nr_kabla_m

4.rozdzielczy
rozdzielczy_id auto increment
abonent_id
nr_kabla_r



  1. $dodaj = @mysql_query("INSERT INTO abonent SET nazwisko='$nazwisko', imie='$imie',
  2. miejscowosc='$miejscowosc'");
  3. $id = @mysql_insert_id();
  4.  
  5. $dodaj = @mysql_query("INSERT INTO magistrala SET nr_kabla_m='$nr_kabla_m'");
  6.  
  7. $id = @mysql_insert_id();
  8.  
  9. $dodaj = @mysql_query("INSERT INTO rozdzielczy SET nr_kabla_r='$nr_kabla_r'");


Z góry dziękuję za pomoc.
thek
Pytanie podstawowe sobie zadaj: "Gdzie w tych dwóch zapytaniach ustawiam id_abonenta na takie jakie być powinno?". Bo jak dla mnie to ustawiasz podczas insert tylko i wyłącznie nr kabla, ale ani widu, ani słychu o id_abonenta. Skąd się ten numer bierze? Chyba baza sobie z powietrza go ustawia winksmiley.jpg
t_freak
dzięki za celne spostrzeżenie, problem już rozwiązany, a zrobiłem to tak:

  1. $dodaj = @mysql_query("INSERT INTO abonent SET abonent_id='$abonent_id', nazwisko='$nazwisko', imie='$imie',
  2. miejscowosc='$miejscowosc'");
  3.  
  4. $abonent_id = mysql_insert_id();
  5.  
  6. $dodaj = @mysql_query("INSERT INTO kabel_magistralny SET abonent_id='$abonent_id', nr_kabla_m='$nr_kabla_m'");


czyli tak jak zauważyłeś w zapytaniach brakowało odniesienia do abonent_id i oprócz tego do mysql_insert_id przypisałem $abonent_id i teraz all działa jak należy, tak więc jeszcze raz DZIĘKI WIELKIE i biorę się za kolejny problem, pozdrawiam
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.