Para mi tienes un mal disenno de la tabla, si tienes 3 telas ke son Impermeabilidad, Resistencia al Roce repittiras lo mismo 3 veces y si tienes 3000 lo haras 3 mil veces
mejor seria ke crees columnas por tus funciones y las acticas con un flag igual a 1 o 0 descativada.
unos de los principios de l disenno de base de datos es guardar solamente un dato en la campo
Código:
--------------------------------------------------------------------------------------------------------------------------------------------------------
| id | familia | cordura | descripcion | ventaja | uso | tags | generico | impermiable | resistencia_roce | usos |
--------------------------------------------------------------------------------------------------------------------------------------------------------
| 1 | 0108 | Fabricado con... | Alta resistencia... | Ideal para... | linea engomada | | 1 | 1 | 1 | |
--------------------------------------------------------------------------------------------------------------------------------------------------------
y cuando kieras buiscar lo haces por los flags igual a 1 y te dara esas funciones.
Por otra parte como los estas hacinedo tendras ke hacer el implode en el mismo orden en ke lo tienes guardado en la base de datos si no te devuelve vacio. o sea ke si estas buscando por
SELECT * FROM prod_linea_tela WHERE funciones LIKE ('%Alta Visibilidad,Resistente a la decoloración,Antidesgarro%')
no puedes tener los espacios en las comas ke tienes en tu tabla, y tendras ke tener una tela con ese mismo orden de funciones para ke devuelva algo
si no
SELECT *
FROM prod_linea_tela
WHERE funciones LIKE '%Alta Visibilidad%'
OR funciones LIKE '%Resistente a la decoloración%'
OR funciones LIKE '%Antidesgarro%'