Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPDATE z innej tabeli o tym samym id do jednego rekordu..
Forum PHP.pl > Forum > PHP
winiar789
Witam Państwa serdecznie mam pewien problem. W tabeli o nazwie cechy mam
produkt_id---cecha_id
2345---------1111
2222---------3454
2345---------5423

Jak widać powyżej produkt_id widnieje dwa razy a maja inną cechę_id

teraz tak pobieram sobie SELECTEM tabele cechy do tablicy
potem daje
forach ($cechy as $v){
$sql->Query("UPDATE produkty SET cecha='".$v['cecha_id']."' WHERE id='".$v['produkt_id']."'");
}
Do samych produktów dodaje mi ale ostatni wiersz z tabeli cechy tzn 2345----5423
Proszę o pomoc jak dopisywać do jednego rekordu kilka cech_id...
jaslanin
najlepiej przechowywać w osobnej tabeli tak jak to jest teraz i pobierać po prostu z tej tabeli kiedy są potrzebne osobnym zapytaniem, podzapytaniem czy JOINEM, (można też wykorzystać GROUP_CONCAT by w pewnych sytuacjach ułatwić sobie przekazywanie)

jak chcesz je wszystkie mieć w jednym wierszu to albo musisz mieć n dodatkowych kolumn na to, albo tworzysz pole tekstowe gdzie cechy będą oddzielone separatorem np. przecinkiem (możesz do tego wykorzystać GROUP_CONCAT), niemniej jednak jest to złe rozwiązanie i został bym przy dwóch tabelach.
phpion
Najprościej w przypadku takich tabel:
- usuwasz wszystkie wpisy dla konkretnego produktu,
- dodajesz nowe rekordy produkt-cecha.
Nie robisz żadnego UPDATE, tylko DELETE, a potem INSERT.
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.