Filtrowanie produktów z bazy danych - php/mysql

Odpowiedz Nowy wątek
2019-07-12 19:55
0

Witam serdecznie,
korzystając z tego tutoriala zrobiłem filtrowanie produktów z bazy danych używając checkboxów.
Wszystko działa z jednym wyjątkiem.
Przykładowo: w bazie danych mam kolumnę w której zawarte jest oznaczenie produktu:

produkt id oznaczenie
1 A
2 C
3 B
4 A
5 A/B
6 A/B/C

Bez problemu filtruję i pokazuję produkty mające jeden i konkretny znak, jednakże nie potrafię sprawić by przykład z produktem z id 5,6 działał.
Jako value produktu z więcej niż jednym oznaczeniem zwracam "%/%" gdyż chcę, aby pokazywane były wszystkie które mają w oznaczeniu "/".
W przypadku prostego polecenia typu: ~SELECT * FROM products WHERE oznaczenie LIKE '$shapemixed' (gdzie wartość $shapemixed to %/%) teoretycznie wszystko działa bez problemu, jednakże format zapytania w pliku "fetch_data.php" z jakiegoś powodu nie zwraca mi produktów ze zmiennymi wartościami.
Poniżej zamieszczam zmodyfikowany fragment "fetch_data" (który nie działa), ale mam wrażenie, że powinno to być coś w tym kierunku.

    if(isset($_POST["shapemixed"]))
 {
  $shapemixed_filter = ($_POST["shapemixed"]);
  $query .= " AND Shape LIKE ('".$shapemixed_filter."') ";
 }

Ze względu na sporą ilość kolumn i filtrów nie chciałbym zmieniać całej struktury pliku "fetch_data" tym bardziej że zdecydowana większość działa bez zarzutu , jednakże czy istnieje szansa na dodanie jednej zmiennej która ma pokazywać wszystkie produkty które w kolumnie x mają cokolwiek/cokolwiek ?

Z góry bardzo dziękuję za wszelkie odpowiedzi i wskazówki!
Pozdrawiam

Pozostało 580 znaków

2019-07-12 19:58
1

Możesz wykorzystać %$shapemixed_filter%

Pozostało 580 znaków

2019-07-14 15:00
0
Dregorio napisał(a):

Możesz wykorzystać %$shapemixed_filter%

Niestety próbowałem już wiele kombinacji i wygląda na to że wszelkie wartości zawierające '%' nie są odczytane, tak jakby operator LIKE był widziany jako '='. W międzyczasie wpadłem na to by po prostu dodać do bazy danych kolumnę z wartościami 0/1 gdzie 1 mają produkty z większą ilością oznaczeń niż jedno. Nie będzie to najlepsze wyjście ale przynajmniej nie powinno być problemów z działaniem.

Bardzo dziękuję za odpowiedź!

Pozostało 580 znaków

2019-07-14 20:52
0

@h1mst: robiłeś testy pisząc query z palca w bazie i też nie działało? Czym jest shapemixed_filter, strony czy array?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0