Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dodawnie danych do 4 tabel, problem z id w pozostałych tabelach
t_freak
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.09.2009

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


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





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
t_freak
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 16.09.2009

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


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
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: 20.08.2025 - 17:32