Foros del Web » Programando para Internet » PHP »

Seleccionar un solo registro en una busqueda

Estas en el tema de Seleccionar un solo registro en una busqueda en el foro de PHP en Foros del Web. Hola, estoy montando un buscador avançado con diversos campos, y me he dado cuenta que cuando busco una pelicula y no pongo por ejemplo su ...
  #1 (permalink)  
Antiguo 01/07/2005, 07:32
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
Seleccionar un solo registro en una busqueda

Hola, estoy montando un buscador avançado con diversos campos, y me he dado cuenta que cuando busco una pelicula y no pongo por ejemplo su director en el campo director, si hay 2 directores para la misma pelicula me sale el campo repetido, que podria hacer?

GRacias
  #2 (permalink)  
Antiguo 01/07/2005, 09:12
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
que es lo correcto, son dos registros. Imagino que tendrás un join en la consulta o lo que sea. Este tipo de consultas luego tenes que manejarlas desde php para los repetidos, aunque, tenes en la misma datos redundantes, por lo que te aconsejo, que el director lo levantes en una consulta diferente si es una relacion de muchos a uno.

Mucho no se te puede ayudar sin exponer el query que estes usando y la extructura de las tablas.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 04/07/2005, 03:21
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
El codigo es:
El propblema me viene que en las tablas director, guionista, interprete me aparecen diveresos registos por cada registro que ingreso en Comun.Nombre ya que Por ejemplo la peliucula matrix tiene diversos directores e interpretes, pero a mi solo me intreresa que salga uno solo y me da igual cual. y al buscar matrix sin decir director y interpretes entonces mes salen todos los directores y interpretes y obtengo duplicados. Si alguien me puede ayudar estare muy agradecido por que estoy con el agua al cuello y ya no se que mas probar.

p.d subrallo donde se encuentra la sentencia que da problemas

"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_guionista)&& (Guionista.Nombre LIKE '%$guionista%')"
  #4 (permalink)  
Antiguo 04/07/2005, 03:45
 
Fecha de Ingreso: junio-2005
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
puedes usar un SELECT DISTINCT para eliminar tuplas repetidas
espero y te sirva :D
  #5 (permalink)  
Antiguo 04/07/2005, 03:49
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
El problema es que no estan repetidas ej: Busco Alicia el pais de las maravillas, que tendra un Comun.id_comun=10 y al relacionarlo este con r_cine_guionista.id_guionista esta pelicula tendra 3 gionistas ej: 3100, 4500, 2532 esto me dara tres resultados pero yo solo quiero uno de ellos y me da igual cual.
  #6 (permalink)  
Antiguo 04/07/2005, 04:06
 
Fecha de Ingreso: junio-2005
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
oo ok ya entendi mira

Código PHP:
 $newBuscmysql_query("SELECT IDd,Status 
                             FROM info WHERE IDd='"
.$row['ID']."' LIMIT 0,1"); 
el limit de al final me dice que a lo mucho seleccione uno
espero y te ayude
  #7 (permalink)  
Antiguo 04/07/2005, 04:22
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 12 años, 5 meses
Puntos: 0
esta solucion ya la he pensado, pero no me sirve, por que entonces me daria un solo resultado en la busqueda y si pongo matrix hay 3 paliculas matrix.
Me cuesta mucho esplicarlo,mejor te dejo la direccion haver si ella por si misma se explica mejor.

http://www.taconline.net/buscadorcine.php
  #8 (permalink)  
Antiguo 05/07/2005, 04:09
 
Fecha de Ingreso: junio-2005
Mensajes: 30
Antigüedad: 12 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%')";
  #9 (permalink)  
Antiguo 05/07/2005, 04:54
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Hace tiempo hice un buscador aparentemente igualito a el tuyo... por cierto, tu página tiene errores, básicamente capas sobrepuestas... pero es otro tema .

Solo se te pediria te consentraras en lo posible en un post http://www.forosdelweb.com/f18/ayuda-buscador-avanzadado-313386/#post1164267 , sin mencionar todos los que haz dejado en todo forosdelweb.. ¿no va eso contra las políticas?... asunto aparte, solo comento que es frustante ver eso... cada quién sus métodos...

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 19:37.