Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UPDATE z innej tabeli o tym samym id do jednego rekordu..
winiar789
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 15.11.2011

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


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...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


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.

Ten post edytował jaslanin 20.06.2012, 20:28:06


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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.
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 - 17:18