Foros del Web » Programando para Internet » PHP »

Como buscar un valor en un array en MySQL + PHP

Estas en el tema de Como buscar un valor en un array en MySQL + PHP en el foro de PHP en Foros del Web. Hola, voy a tratar de explicarles mi situación, es un caso bastante particular al que no le encuentro una solución eficiente. Tengo una base de ...
  #1 (permalink)  
Antiguo 22/08/2013, 00:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 17
Antigüedad: 16 años, 4 meses
Puntos: 0
Como buscar un valor en un array en MySQL + PHP

Hola, voy a tratar de explicarles mi situación, es un caso bastante particular al que no le encuentro una solución eficiente.
Tengo una base de datos en MySQL, en una tabla "libros" (con mas de 5000 entradas) hay un campo que almacena el listado de id de las categorías a la que pertenece como un texto separado con coma.

EJ: 123,545,332,254533,12,42

Lo que yo necesito hacer es seleccionar solo los libros que pertenezcan a determinada categoria. Si lo realizo con un "categoria LIKE '%33%'" me va a seleccionar tanto los libros que estén en la categoría 33 como en la 333 o 4332.

No podría seleccionar toda la tabla y pasar cada campo categoria de cada fila por un explode porque eso mataría al servidor.

Como les escribí al comienzo necesito una solución eficiente, la base de datos está asi, no la puedo alterar (viene de otro software) y el que se está alternado soy yo.

Desde ya, muchas gracias.
  #2 (permalink)  
Antiguo 22/08/2013, 02:42
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 9 meses
Puntos: 9
Respuesta: Como buscar un valor en un array en MySQL + PHP

Prueba lo siguiente:

categoria=33 or categoria like '33,%' or categoria like '%,33,%' or categoria like '%,33'

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.