Moje zadanie jest zdeczka skomplikowane.
Mam bazę danych w których są dwie tabele.
W pierwszej są dwa pola (id, autor książki).
W drugiej (id, autor książki, tytuł książki).
Chciałem wykonać odpowiednią pętlę, która zamieni mi drugą tabelę w ten sposób, że
zamiast nazwy autora książki będzie id autora z pierwszej kolumny:
(id, id autora, tytuł książki).
Nie robiłem update do kolumny drugiej, tylko utworzyłem trzecią kolumnę i będę chciał do niej załadować już "po nowemu"
Robiłem to tak:
function sqlclr($input) { return $input; } SELECT id, nazwa_autora FROM `TABELA1` ORDER BY `id` ASC "); SELECT autor_ksiazki, tytul FROM `TABELA2` ORDER BY `id` ASC "); { $autorid = sqlclr($pobierzartystow['id']); $nazwa_autora = sqlclr($pobierzartystow['nazwaartysty']); { $autor_ksiazki = sqlclr($starocie['autor_ksiazki']); $tytul = sqlclr($starocie['tytul']); if ($nazwa_autora == $autor_ksiazki) { $query = " INSERT INTO `TABELA3` (autorid, title) VALUES ( '" . $autorid . "', '" . $tytul . "' ) "; } } }
Generalnie spełniło to funkcję, ponieważ dopasowała id do autora, ale tylko dla pierwszego wpisu w TABELI2.
Potem już wszystkie są takie same (czyli jeżeli pierwszy autor miał id 6 - to wszystkie wpisy w tabeli mają id 6 ;/). Kombinowałem użyć jakiegoś continue;, ale nadal to samo.
Myślę obecnie nad foreach.
Co o tym myślicie?
// Nie patrzcie na jakieś błędy literówek, składni czy funkcji. I tak piszę to na innym silniku, ale napisałem tutaj w ten sposób, żeby było czytelniejsze i zrozumiałe.