Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]przeszukiwanie listy
Forum PHP.pl > Forum > Przedszkole
trucksweb
mam w polu varchar listy w postaci:
1,2,4,3,6,7,8
2,1,5,4

teraz chcialbym pobrac wszystkie rekordy w ktorych znajduje sie "1"
robie takie zapytanie:
  1. SELECT * FROM tabela WHERE rekord = '%,' || 1 || ',%'


no i zwara mi wszystkie :/ ktos wie czemu ?
mefjiu
Zawsze njaprstrzym sposbem jest skorzystanie z opcji szukaj w php My Admin w polu którego chcesz szukać wpisujesz 1 i zzwraca ci poprawny kod SQl :-) np

  1. SELECT *
  2. FROM `tabela` WHERE `rekord` LIKE '%1%'
  3. LIMIT 0, 30
trucksweb
kurcze jak zwykle komplikuje tongue.gif

ps.w moim przykladzie wyzej zamiast = powinno byc LIKE
batman
Zapomniałeś o jednej rzeczy - co się stanie, jeśli będziesz miał na liście liczbę 14? Nie jest to "jedynka", ale też znajdzie się w wynikach wyszukiwania. Najlepszym sposobem na uniknięcie tego problemu jest dodanie na początku i na końcu listy dodatkowego przecinka:
,1,3,6,8,14,
oraz zmodyfikowanie zapytania:
  1. LIKE '%,1,%'
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.