![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 18 Dołączył: 4.02.2003 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Co sądzicie o takim rozwiązaniu problemu zapisu dużej ilość wariantów w kolumnie:
BAZA np. produkty id nazwa cechy > VARCHAR(255) cechy są zapisywane z duzej ilości pól checkbox czyli np. kolor, kształt, inne warianty (każdy wariant posiada swoje ID liczbowe i nie wykluczają się wzajemnie) ale zamiast serializacji tych wartosci w bazie, zapisywać to tak: taki zapis w bazie cechy >> np. "|1|23|43|25|22|7|" po to aby mozna było wyszukiwać po tych cechach zastosować takie zapytanie itd Macie inne pomysły jak takie coś fajnie rozwiązać czy raczej tylko to trzeba zrobić z osobną tabelą produkty_cechy? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Osobna tabela. Przedstawione przez ciebie zapytanie jest bardo nieoptymalne.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
tabela produkt(id_produkt, nazwa,.....)
tabela cechy(id_cechy, nazwa) tabela cechyProduktu(id_cechyProduktu, id_produkt, id_cechy, wartosc) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 224 Pomógł: 18 Dołączył: 4.02.2003 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
No tak ale szukałem jakiś alternatyw..
chociażby jakiegoś matematycznego sposobu wyliczenia globalnej wartości z checkboxów (coś jak hash) tyle wynik moze zawierać jeszcze wartości które nie zostały dodane a mogą się znaleźć ale nie muszą. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
No tak ale szukałem jakiś alternatyw.. To zapisuj tego stringa w pliku, a jak chcesz na bazie to korzystaj z jej relacyjności (IMG:style_emoticons/default/smile.gif) Po co sobie robić pod górkę Tym bardziej ze ciezko korzystać z indexów po like-u jak masz takie wartosci |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Z bazodanowego punktu widzienia to nie jest właściwe, ale skoro już kombinujesz to:
checkboxy mają dwa stany więc operatory binarne... np ciąg 11010 może znaczyć (od końca) " pierwszy nie zaznaczony drugi zaznaczony trzeci nie zaznaczony czwarty zaznaczony piąty zaznaczony Mysql posiada binarne typy danych Jakiś pomysł to jest, ale ja się pod nim nie podpisuję |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 15:09 |