Foros del Web » Creando para Internet » Diseño web »

Ayuda en buscador avanzadado!!

Estas en el tema de Ayuda en buscador avanzadado!! en el foro de Diseño web en Foros del Web. Hola, intento hacer un buscador de 12 campos, Nombre de una pelicula i informacion sobre esta (Autor, actores, guionistas, etz..) El problema lo tengo en ...
  #1 (permalink)  
Antiguo 04/07/2005, 04:36
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 11 años, 3 meses
Puntos: 0
Ayuda en buscador avanzadado!!

Hola, intento hacer un buscador de 12 campos, Nombre de una pelicula i informacion sobre esta (Autor, actores, guionistas, etz..)

El problema lo tengo en que al buscar una pelicula si no se pone nada en los capos donde puede haver mas de una respuesta como en actores, abtengo mas de una respuesta a mi consulta (tantas como actores haya).

Ya que al poner por ejemplo Kill bill en nombre de pelicula y dejo el campo actores vacio,obtengo que Kill bill corresponde a la id=1000 y al relacionar esta con sus actores me salen 3, por ejemplo id=13, 25, 50 y por ello envez de obtener una sola respuesta obtengo 3.

Como puedo limitar que solo me salga una respuesta?
El buscador esta en: http://www.taconline.net/buscadorcine.php

El cogido de la busqueda es:
SELECT Comun.id_comun, Comun.Nombre as programa, Comun.Fotografia, Comun.Valoracion, Comun.Tipo, Comun.Resumen, Comun.Comentario, Comun_Pelicula.id_comun, r_cine_genero.id_comun, r_cine_genero.id_genero_cine, r_cine_director.id_comun, r_cine_director.id_director, r_cine_interprete.id_interprete, r_cine_interprete.id_comun, r_cine_guionista.id_comun, r_cine_guionista.id_guionista,Guionista.Nombre,Gui onista.id_guionista FROM Comun, Comun_Pelicula, r_cine_genero, r_cine_director, r_cine_interprete,Interprete_Cine, r_cine_guionista, Guionista
WHERE (Comun.Nombre LIKE '%$busqueda%')&&(Comun.Resumen LIKE '%$resumen%')&&(Comun.Comentario LIKE '%$comentario%')&&(Comun.id_comun=Comun_Pelicula.i d_comun)&&(Comun_Pelicula.texto_cineforum LIKE '%$comentario_cineforum%')&&(Comun.id_comun=r_cine _genero.id_comun)&&(r_cine_genero.id_genero_cine LIKE '%$genero%') &&(Comun.id_comun=r_cine_director.id_comun)&&(r_ci ne_director.id_director LIKE '%$director%') &&(Comun.id_comun=r_cine_interprete.id_comun)&&(r_ cine_interprete.id_interprete=Interprete_Cine.i d_interprete)&&( Interprete_Cine.Nombre LIKE '%$interprete%')&&
(Comun.id_comun=r_cine_guionista.id_comun)&&(r_cin e_guionista.id_guionista=Guionista.id_guioni sta)&&( Guionista.Nombre LIKE '%$guionista%')
  #2 (permalink)  
Antiguo 05/07/2005, 03:11
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 11 años, 3 meses
Puntos: 0
Me han comentado este sistema:

cuando el usuario pulse el botón para buscar compruebas qué campos están cubiertos y en función de ello creas una consulta u otra:

$consulta="SELECT * FROM tabla WHERE";

if ($_POST['campo1']!="") $consulta.=" campo1 LIKE '".$_POST['campo1']."%' and ";

if ($_POST['campo2']!="") $consulta.=" campo2 LIKE '".$_POST['campo2']."%' ";

[...]


Es una forma nueva de programar y no acabo de entender muy bien su fundamento. me podriais dar un ejemplo con algunos de mis datos reales y yo ya seguire con el resto?

por ejemplo:
Cogo informacion de un campo del formulario a traves de:
HTTP_GET_VARS['general']
HTTP_GET_VARS['director'] --->este me lo pueden enviar vacio o no

la sentencia de busqueda actual que tengo es:
$query_hoytv = "SELECT Comun.id_comun, Comun.Nombre, r_cine_director.id_comun, r_cine_director.id_director, Director.id_director, Director.Nombre
FROM Comun, r_cine_director, Director
WHERE (Comun.Nombre LIKE '%$busqueda%')&&(Comun.id_comun=r_cine_director.id _comun)&&(r_cine_director.id_director=Director.id_ director) && (Director.Nombre LIKE '%$director%')";
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 16:32.