Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kilka ID w jednym polu - wyszukiwanie
Forum PHP.pl > Forum > Bazy danych
DiKey
Witam. Potrzebuję rekord z polem o przykładowej wartości:
Kod
2,3

1. Jaki typ powinna mieć kolumna zawierająca to pole, jeśli będą też w niej dane cyfrowe (np. "1" lub "4"), ale i np. "1,4,7,9"?
2. Jakim zapytaniem wyszukać rekordy z takim polem podając tylko jedną z wartości między przecinkami?
np. pole ma wartość "2,3", szukam rekordów, w których to pole zawiera liczbę 3,
ale musi też znaleźć rekordy z tym polem o wartości "3". Można użyć PHP.
Rochu
1) najodpowiedniejszy typ to varchar, z tego wzgledu ze moga sie tam znalezc tez i znaki jak przecinek
2)

  1. $szukane = cos_tam;
  2. SELECT * FROM `xxx` WHERE `nazwa_kolumny` LIKE '%".$szukane."%'


przeczytaj to:
Wyszukiwanie na stronie

w skrocie warunek like znajduje pola gdzie znajduje sie podana fraza
mortus
Zastanawiam się, co takie dane ("1,4,7,9") mają reprezentować. Być może sama idea ich przechowywania w takiej formie jest zła. Bo jak dla mnie wygląda to na próbę realizacji relacji jeden do wielu lub wiele do wielu za pomocą jednej tabeli. Tymczasem nie jest to optymalne rozwiązanie.
DiKey
Cytat(mortus @ 26.06.2011, 13:05:42 ) *
Zastanawiam się, co takie dane ("1,4,7,9") mają reprezentować. Być może sama idea ich przechowywania w takiej formie jest zła. Bo jak dla mnie wygląda to na próbę realizacji relacji jeden do wielu lub wiele do wielu za pomocą jednej tabeli. Tymczasem nie jest to optymalne rozwiązanie.


Tak wiem, że lepiej zrobić jeszcze dodatkową tabelkę, ale to bardzo mały projekcik i tylko niektóre pola będą miały wartość 2,3.
Dzięki za pomoc. Można zamknąć.
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.