Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP Tabele
patt133
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Hey ! To mój pierwszy post smile.gif

Mam takie pytanko mam kilka tabel + jedną ZBIORCZĄ ... tabelki to np autor (w niej jest kolumna Id (automatyczny) oraz autor) druga powiedzmy rok napisania (kolumny id (automatyczne) oraz rok napisania) itd. z tabelkami ... natomiast w ZBIORCZEJ (kolumny id (automatycznie) oraz UWAGA ... autor_id i r_n_id ) ... noi teraz pragnę aby z przy użyciu php w mysql wstawiał mi do ZBIORCZEJ w kolumnach autor_id oraz r_n_id ...cyferki z kolumny id z tabeli autor oraz z kolumny id z tabelki rok napisania ... w zbiorczej chce tylko cyferki ... nadmienię tylko ze takie drobiazgi jak łączenie się z bazą mysql czy wstawianie nowego rekordy do mysql przez php to pryszcz i nie musicie pisać ... pragnę się tylko dowiedzieć jak z istniejącej tabelki wczytać to do drugiej smile.gif Pozdro dla tego kto czyta i jeszcze wieksze dla tego kto mi odpisze smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Usuń auto_increment w ZBIORCZEJ. Do zbiorczej wrzucasz podczas dodawania danych do innych tabel np.
  1. mysql_query("INSERT INTO autor (id,autor) values ('', '{$autor}')");
  2. $autor_id = mysql_insert_id();
  3.  
  4. mysql_query("INSERT INTO posts (id,data) values ('', '{$data}')");
  5. $data_id = mysql_insert_id();
  6.  
  7. mysql_query("INSERT INTO zbiorcza(id_autor, id_data) values ($autor_id, $data_id)");
Go to the top of the page
+Quote Post
patt133
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


hmmm... ciekawe z tym mysql_insert_id() ... nie znałem tego ale i tak mi nie śmiga ... sad.gif ten $autor i $data to wiem ze zmienne które wcześniej się definiuje , tam gdzie wpisuje do poszczególnych tabel autora i daty to nawet nie muszę id dawać bo mi samo dopisuje wiec tylko wartości daje ... ale aby zaznaczyć id z tej tabeli to chyba trzeba dać autor.id ... czyli z tabeli autor bierze mi "id" . W zbiorczej natomiast, że mysql dodaje mi kolejne id to ze tak powiem mi to rybka ... najważniejsze aby id wprowadzonego autora wskakiwało mi do Zbiorczej w kolumnie autor_id a drugą i kolejne tabele to bym już tak samo zrobił ... drugiego kroku nie umiem zrobić teraz aby id z autora leciało do zbiorczej autor_id... - to najważniejsze questionmark.gif? A poza tym to chyba jak daje się do zbiorczej zmienną to chyba powinno być ' "".$autor.id."" ale to drobiazg. Pozdro smile.gif
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Kombinujesz - to dobrze ale nie kombinuj za bardzo smile.gif

Tak jak teraz jest jest dobrze smile.gif znaczy ' wstawiasz jeżeli chcesz wrzucić string (tekst, data typu: 10-02-2001 itp.) nie musisz gdy chcesz wrzucić int (liczbę). Więc jak już wcześniej wspomniałem wszystko powinno grać.

Uruchom skrypt i sprawdź co ci się dodało a co nie no i możesz również użyć raportowania błędów:
  1. mysql_query("INSERT INTO autor (id,autor) values ('', '{$autor}')") or die(mysql_error());
  2. $autor_id = mysql_insert_id();
  3.  
  4. mysql_query("INSERT INTO posts (id,data) values ('', '{$data}')") or die(mysql_error());
  5. $data_id = mysql_insert_id();
  6.  
  7. mysql_query("INSERT INTO zbiorcza(id_autor, id_data) values ($autor_id, $data_id)") or die(mysql_error());


ps. zrób tak jak pisałem wyżej czyli bez auto_increment smile.gif

Ten post edytował CuteOne 11.12.2010, 00:06:13
Go to the top of the page
+Quote Post
patt133
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Wstawia do do tabelki autor ... ale już nie do zbiorczej i co ciekawe nie wyskakuje, że jakiś błąd uczyniłem... hmmm co tu zrobić ... zapewne gdzieś błąd w tym dodawaniu do zbiorczej ... sad.gif

MAM exclamation.gif!!!!!!!!!! znalazłem ... niezwłocznie pragnę poinformować wszystkich, którzy mają podobny problem a przede wszystkim CuteOne ( dzięki - jesteś SUPER ) otóż ...
zamiast

mysql_query("INSERT INTO zbiorcza(id_autor, id_data) values ($autor_id, $data_id)") or die(mysql_error());

trzeba tylko dać ...


mysql_query("INSERT INTO zbiorcza(autor_id, data_id) values ($autor_id, $data_id)") or die(mysql_error());

śmiga jak ta lala SUPER ... ile ja nad tym siedziałem... o rany ....
Dzięki CuteOne

P.S. ( to była jedna z kilku części ogniwa stanowiąca część z jeszcze innego ogniwa na zaliczenie baz danych )
DZIĘKI WIELKIE exclamation.gif!!!! smile.gifsmile.gifsmile.gif
Go to the top of the page
+Quote Post
CuteOne
post
Post #6





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


omg... skąd miałem wiedzieć jakie nazwy kolumn masz w tabelach... ale dobrze, że działa winksmiley.jpg
Go to the top of the page
+Quote Post
patt133
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


teraz zobaczyłem że jest malutki problem owszem działa ... ale jak wprowadzam z jednej tabelki ... natomiast jak z dwóch czy więcej to już ... UWAGA ... w zbiorczej mi osobne rekordy wstawia .... to na pewno ma związek z auto increment id w zbiorczej .... jak usune auto increment z id w zbiorczej to ZONK nie chce nic więcej dodawać ... Oby ten CuteOne jeszcze to przeczytał exclamation.gif!

WSZYSTKO DZIAŁA ! przepraszam za zamieszanie ... Brawo CuteOne ...
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 - 19:32