Foros del Web » Programando para Internet » PHP »

Busqueda avanzada

Estas en el tema de Busqueda avanzada en el foro de PHP en Foros del Web. Hola amigos, tengo otra duda que me gustaria que si no es mucha molestia me resolviera. Mi duda viene cuando creo una busqueda a ver ...
  #1 (permalink)  
Antiguo 16/12/2004, 07:12
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 19 años, 4 meses
Puntos: 0
Busqueda avanzada

Hola amigos, tengo otra duda que me gustaria que si no es mucha molestia me resolviera.

Mi duda viene cuando creo una busqueda a ver en primer lugar genero un formulario donde introduzco los datos a buscar y con el siguiente codigo busco en la base de datos:

Código PHP:
#Conexion BD
include("conexion.php");
$link=conectarse();

#Empieza la busqueda
if ( $nom_proy != "" || $fecha_proy != "" || $num_proy != "" || $promo_proy != ""){
    
$busqueda" WHERE id_proy > 0 ";
    if (
$nom_proy != ""){
        
$busqueda =$busqueda." AND nom_proy like '%".$nom_proy."%' ";
    }
    if (
$fecha_proy != ""){
        
$busqueda=$busqueda."AND fecha_proy like '%".$fecha_proy."%' ";
    }
    if (
$num_proy != ""){
        
$busqueda=$busqueda."AND arch_proy like '%".$num_proy."%' ";
    }
    if (
$promo_proy != ""){
        
$busqueda=$busqueda."AND promo_proy like '%".$promo_proy."%' ";
    }
}

$result=mysql_query("select * from proyectos $busqueda ORDER BY nom_proy",$link); 
Las variables $nom_proy, $fecha_proy, $num_proy, $promo_proy son las que envio desde mi furmulario.

en fin hasta aqui no tengo ningun problema la cosa esta en que me gustaria que buscase mas de una palabra en un mismo campo para hacer mas restringida la busqueda, no se si me explico lo que quisiera es que por ejemplo en el campo $nom_proy buscase dos palabras que en el nombre no esten escritas consecutivas de la siguiente manera:

Un ejemplo el campo $nom_proy valdria esto:

Cita:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxpalabra1yyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyypalabra2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx
Me gustaria poder buscar por palabra1 y palabra2 en el mismo campo y que me buscase el registro deseado.

En fin no me voy a enrollar mas por que creo que me estoy liando. Si alguien ha conseguido entenderme y sabe como se puede hacer qe me lo comente.

Yo he pensao que podria cortar la cadena que quiero buscar y generar una busqueda nueva con las dos palaabras (que he cortado de la misma cadena) pero supongo que habra una forma distinta.

Muchas gracias y hasta pronto.

Un saludo.
  #2 (permalink)  
Antiguo 16/12/2004, 09:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes probar a implementar tu buscador con funciones "Full Text search" (busqueda de texto completo) de Mysql:

Tienes un tutorial sobre el tema en:
http://www.mysql-hispano.org/page.php?id=15

Entre otras cosas .. permiten que indiques una cadena con "palabras" y buscar en ellas...

Un saludo,
  #3 (permalink)  
Antiguo 16/12/2004, 10:06
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 19 años, 4 meses
Puntos: 0
Muchas gracias Cluster.

Un saludo.
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 08:07.