Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como hacer buscador mysql y php

Estas en el tema de Como hacer buscador mysql y php en el foro de Programación General en Foros del Web. Hola: Estoy intentando hacer un buscador con multiples opciones. Buscar el nombre de una pelicula a la vez que en su descripcion aparezca una palabra, ...
  #1 (permalink)  
Antiguo 30/06/2005, 07:08
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 19 años, 5 meses
Puntos: 0
Como hacer buscador mysql y php

Hola: Estoy intentando hacer un buscador con multiples opciones. Buscar el nombre de una pelicula a la vez que en su descripcion aparezca una palabra, y así hasta 7 campos distintos.

He conseguido hacer un buscador pero al realizar la busqueda me salen repetidamente los campos, Ej busco matrix i me saca 8 veces el mismo campo. No se que hacer

Aqui dejo el codigo por si alguien me puede ayudar, Gracias


"SELECT Comun.id_comun, Comun.Nombre as programa, Comun.Fotografia, Comun.Valoracion, Comun.Tipo, Comun.Resumen, Comun.Comentario, Comun.Valoracion, 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, r_tv_cadena.id_comun FROM Comun, Comun_Pelicula, r_cine_genero, r_cine_director, r_cine_interprete, r_cine_guionista, r_tv_cadena
WHERE (Comun.Nombre LIKE '%$busqueda%')&&(Comun.Valoracion LIKE '%$valoracion%')&&(Comun.Tipo LIKE '%$categoria%')&&(Comun.id_comun=r_tv_cadena.id_co mun)&&(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 LIKE '%$interprete%')&&(Comun.id_comun=r_cine_guionista .id_comun)&&(r_cine_guionista.id_guionista LIKE '%$guionista%')"
;
  #2 (permalink)  
Antiguo 30/06/2005, 07:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años, 1 mes
Puntos: 48
Ir al foro de bases de datos y que te expliquen por que
Código:
FROM Comun, Comun_Pelicula, r_cine_genero, r_cine_director, r_cine_interprete, r_cine_guionista, r_tv_cadena
es muy mala idea, y que te enseñen a usar LEFT JOIN.
  #3 (permalink)  
Antiguo 05/07/2005, 03:14
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 19 años, 5 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 23:16.