PHP - Consulta MySql en dos tablas

   
Vista:

Consulta MySql en dos tablas

Publicado por Javier (9 intervenciones) el 21/05/2015 17:44:34
Hola, me estoy iniciando en PHP y MySQL. Tengo 2 tablas de una base de datos y tengo problemas al mostrar los datos.
En la tabla ATRIBUTOS tengo un campo llamado atr_umedidaid (N, 1) cuya descripcion se encuentra en la tabla UMEDIDADES.
Me muestra el mensaje de error :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in prog.php line NN
La linea NN es la 14 en el codigo de abajo:

$row1 = mysql_fetch_array($result1) ;

NO SE SI ES CORRECTO HACERLO DE ESTA FORMA.
Lo que sigue es parte del codigo utilizado.
Desde ya MUCHAS GRACIAS por tu aporte.
Javier

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$link=ConectarBD();
 
$result=mysql_query('select * from atributos',$link);
 
$result1=mysql_query('select * from umedidas',$link);
 
 while($row = mysql_fetch_array($result))     {
 
    $UMedidaId = $row['atr_umedidaid'] ;
    $UMedidaDes = "" ;
 
    $result1=mysql_query("select * from umedidas where umedidaid='$UMedidaId')" ,$link)  ;
 
    $row1 = mysql_fetch_array($result1) ;
 
    if ( $row1 != null ) {
        $UMedidaDes  = utf8_encode( $row1['umedidades'] ) ;
     } else {
         $UMedidaDes  = "?" ;
     }
 
     // se muestran los datos  en una tabla html.
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Salvador

Consulta MySql en dos tablas

Publicado por Salvador (125 intervenciones) el 21/05/2015 19:16:03
En tu consulta tienes:

$result1=mysql_query('select * from umedidas',$link);


$result1=mysql_query("select * from umedidas where umedidaid='$UMedidaId')" ,$link) ;

es esto correcto? Obtienes la informacion de la table "umedidas" y segun tu instruccion inicial, la tabla se llama "umedidasdes"




Por ahi sera el asunto ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta MySql en dos tablas

Publicado por hArrY (3 intervenciones) el 21/05/2015 22:35:12
las tablas por lo que veo estan relacionadas por los id umedidaid y atr_umedidaid asi ke no necesitas haces tres consultas es una sola ejemplo:

1
2
3
4
5
6
7
$link=ConectarBD();
 
$result=mysql_query('select umedidades from atributos as a left join umedidas as u on (u.umedidaid=atr_umedidaid);',$link);
while($row = mysql_fetch_array($result))     {
 
    echo $row['umedidades '] ;  // o lo que necesites hacer con la descripcion
}

entonces tu query es trae umedidades de la tabla umedidas donde u.umedidaid=atr_umedidaid o sea pertenesca a cada una de la tabla atributos.
te dejo un link para que leas como usar los join
https://dev.mysql.com/doc/refman/5.0/en/left-join-optimization.html
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Consulta MySql en dos tablas

Publicado por Javier (9 intervenciones) el 22/05/2015 15:46:23
Muchas gracias por los aportes.
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar