Foros del Web » Programando para Internet » PHP »

Formulario de Busqueda

Estas en el tema de Formulario de Busqueda en el foro de PHP en Foros del Web. Hola: Estoy haciendo una página con un fórmulario de búsqueda, para sacar unos determinados registros de la base de datos. Este fórmulario es un input ...
  #1 (permalink)  
Antiguo 28/12/2011, 09:22
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Formulario de Busqueda

Hola:
Estoy haciendo una página con un fórmulario de búsqueda, para sacar unos determinados registros de la base de datos.
Este fórmulario es un input de tipo text, el cual puede recibir una cadena de palabras separadas por "," (coma).

Ejemplo: "perro, gato, coche, casa,..."

¿Como puedo hacer en la consulta a la base de datos para que analice cada palabra entre comas por separado?

Gracias.
  #2 (permalink)  
Antiguo 28/12/2011, 09:32
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 8 meses
Puntos: 34
Respuesta: Formulario de Busqueda

Código PHP:
<?php
$input 
$_POST'input' ];
$words explode','$input );
foreach ( 
$words as $value )
{
    
$value trim$value );
    
// Aquí lo que quieras hacer con cada parte de la cadena
}
?>
Explode lo separa y lo convierte en un array(), luego vas viendo los registros con un bucle (dentro de este borras espacios no deseados con trim().

Saludos.
  #3 (permalink)  
Antiguo 28/12/2011, 09:37
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Formulario de Busqueda

Hola, lo primero muchas gracias:

Esa solución la había pensado, el problema es que cuando la base de datos sea muy grande y el parametro de busqueda tambien lo sea, va a tardar demasiado.

He estado mirando algo sobre los indices de búsqueda FULLTEXT, el problema que tengo es que para ello hace falta que la tabla sea de tipo MyISAM, y yo la tengo en INNODB puesto que necesito controlar algunos campos mediante relaciones con otras tablas.

¿Alguna idea a esta paranoia?

Gracias!

Etiquetas: formulario, registro, busquedas
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 17:00.