Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Duża ilość cech danej kolumny, pseudo serializacja
rafalp
post
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

  1. SELECT * produkty WHERE cechy LIKE "%|10|%" AND cechy LIKE "%|12|%" AND cechy LIKE "%|25|%"
itd

Macie inne pomysły jak takie coś fajnie rozwiązać czy raczej tylko to trzeba zrobić z osobną tabelą produkty_cechy?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rafalp
post
Post #2





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ą.
Go to the top of the page
+Quote Post
wiiir
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


Cytat(rafalp @ 2.02.2013, 16:37:36 ) *
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


Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 13:41