Foros del Web » Programando para Internet » PHP »

busqueda en dos tablas ??

Estas en el tema de busqueda en dos tablas ?? en el foro de PHP en Foros del Web. hola a todos Necesito hacer una busqueda en dos tablas. la primera seleccionaria todos los "id_cl" de los clientes con el "id_area" = 4 en ...
  #1 (permalink)  
Antiguo 30/04/2007, 09:17
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
busqueda en dos tablas ??

hola a todos

Necesito hacer una busqueda en dos tablas.
la primera seleccionaria todos los "id_cl" de los clientes con el "id_area" = 4 en la tabla [clientes ] .

entonces obtengo un resultado en $row

en la segunda busqueda seleccionaria el "costo" en la tabla [ pintura ] donde el "id_cliente" sea igual a a cada uno de los resultado contenidos en $row



He probado con esto. NO ME DA NINGUN ERROR (obtengo resultados pero no se de donde vienen) o sea que el codigo está bien. pero no tengo lo que explico mas arriba.

se que hay una forma mejor de hacer esto con JOIN pero no tengo ni idea

alguna idea...


el codigo::

$query = "SELECT id_cl FROM clientes WHERE id_area=" 4";
$result = mysql_query ($query) or trigger_error("Query: $query\n<br />MySQL Error: " . mysql_error());

while ($row = mysql_fetch_row($result))
{

$query2 = "SELECT costo FROM pintura WHERE id_cl=" . $row[0] . ";";
$result2 = mysql_query ($query) or trigger_error("Query: $query\n<br />MySQL Error: " . mysql_error());
$row2 = mysql_fetch_row($result2);
echo "valor2: ".$row2[0]."<br/>";
}


gracias
.
  #2 (permalink)  
Antiguo 30/04/2007, 09:33
 
Fecha de Ingreso: abril-2007
Mensajes: 127
Antigüedad: 17 años
Puntos: 0
Re: busqueda en dos tablas ??

Primero que nada, usa fetch_array para leer el contenido, segundo, no estas leyendo el contenido del segundo dato que queres buscar, lo estas pidiendo solo en un query y a la columna de nombre 0 ???
  #3 (permalink)  
Antiguo 30/04/2007, 09:48
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: busqueda en dos tablas ??

haces 1 solo query y ejecutas las dos consultas... o no es lo que precisamente estabas buscando?
Código PHP:

$query 
"SELECT id_cl,costo FROM clientes,pintura  WHERE id_area='4' and id_cl='campodelrow[0]'";        
         
$result mysql_query ($query);
    while (
$row mysql_fetch_array($result))
    {
echo 
"valor2: ".$row[0]."<br/>";

__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #4 (permalink)  
Antiguo 30/04/2007, 10:25
Avatar de ProgramadorMax  
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: busqueda en dos tablas ??

Prueba con este ejemplo:


Código PHP:
$Declaraciones "SELECT pintura.costo AS Precio 
FROM clientes
JOIN pintura USING(id_cl)
WHERE clientes.id_area=4"
;
$Consulta mysql_query ($query);
while (
$fila mysql_fetch_assoc($Consulta))
{
echo 
"valor: ".$fila['Precio']."<br/>";

Suerte
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.
  #5 (permalink)  
Antiguo 30/04/2007, 10:54
 
Fecha de Ingreso: diciembre-2005
Ubicación: Barcelona
Mensajes: 1.428
Antigüedad: 18 años, 4 meses
Puntos: 15
Re: busqueda en dos tablas ??

lo he probado pero me da algunos errores.
seguro que está bien el codigo??
  #6 (permalink)  
Antiguo 30/04/2007, 10:59
Avatar de ProgramadorMax  
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: busqueda en dos tablas ??

Lo siento, fue un detalle.:

Código PHP:
$Declaraciones "SELECT pintura.costo AS Precio 
FROM clientes
JOIN pintura USING(id_cl)
WHERE clientes.id_area=4"
;

//La variable declaraciones no se ejecutaba.
$Consulta mysql_query ($Declaraciones);
while (
$fila mysql_fetch_assoc($Consulta))
{
echo 
"valor: ".$fila['Precio']."<br/>";

Suerte
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.
  #7 (permalink)  
Antiguo 30/04/2007, 12:04
 
Fecha de Ingreso: abril-2007
Mensajes: 25
Antigüedad: 17 años
Puntos: 0
Re: Alternop Re: busqueda en dos tablas ??

valla de la forma como hiciste tu busqueda no esta mala como dices
si quieres puedes usar un inner join, pero por tu
misma repuesta lo puedes obtener pilla solo hay que cambiar algo:

$va="4";
$tbl_cliente="select *from cliente where id_area='$va'";
$query_cliente=mysql_query($tbl_cliente);

while($fetch_cliente=mysql_fetch_array($query_clie nte)){

$fetch_cliente[id_cl];

}


$tbl_pintura="select *from pintura where id_cl='$fetch_cliente[id_cli]'";
$query_pintura=mysql_query($tbl_pintura);

while($fetch_pintura=mysql_fetch_array($query_pint ura)){

$fecth_pintura[id_cli];
$fetch_pintura[costo];

}

esta es una buena opcion si no sabes usar el inner join.
que pasa se realiza una consulta de los clientes y luego
como la tienes relacionada cliente a la tabla pintura
solo buscas la relaciòn que hay entre ellas por medio de estas
dos consultas empleadas me dices cualquier cosa sino te hago un
inner join si no te sirve, que lo dudo

Última edición por jam1138; 12/05/2007 a las 19:01
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 20:22.