Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Zapisałem dane z kilku checkboxów do jednej komórki bazy. Jak teraz wyświetlić rekordy, które mają "zaznaczone" pole X, Zapisane pola są w formacie ;2;3;4;5;6;
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

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


Witam.
Zapisałem dane z kilku pól checkbox do jednej komórki "varchar(255)".. identyfikatory tych pól są oddzielone średnikami...

przykład: ;1;3;5;6;9;11;

Problem jest taki, że nie wiem, jak najlepiej (najwydajniej) wyświetlić rekordy, które są przypisane do checkboxa np 2.

teraz robiłe to tak:

  1. SELECT * FROM tabela WHERE nazwa_pola LIKE '%;2;%'


Problem w tym, że rozwiązanie z like jest bardzo "niewydajne".. czy można jakoś inaczej zapisac info o zaznaczonych polach checkbox w jednej komorce i pozniej wyswietlac odpowiednie rekordy?? Ps .. ilość checkboxów sie zmienia i może ich być bardo duzo ..

Będę wdzięczny za wszelkie wypowiedzi.

------------------------------------- EDIT ----------------------------------------

wpadłem teraz na pomysł, żeby stworzyc dodatkową tabele..
  1. tabela1
  2. checkbox_id tinyint(3)
  3. pole_id int(10)

tabela ta będzie łączyć tabele checkboxów i artykułów.

i tama dwia pola "checkbox_id" i "pozycja_id".. i w jednym zapisywac id pozycji..

Ten post edytował kukix 7.09.2009, 19:13:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
wpadłem teraz na pomysł, żeby stworzyc dodatkową tabele..
to rozwiązanie moze byc. Jest tez inne, moze lepsze (w zaleznosci od typu danych i ich zastosowania):
trzymaj dane bitowo. tutaj dawałem przykład:
http://forum.php.pl/index.php?showtopic=126235&hl=bitowe
Go to the top of the page
+Quote Post

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: 24.08.2025 - 15:11