Foros del Web » Programando para Internet » PHP »

Como mostrar el resultado de esta consulta

Estas en el tema de Como mostrar el resultado de esta consulta en el foro de PHP en Foros del Web. hola, tengo este consulta Código PHP: $sql3  =  mysql_query ( "SELECT * FROM aulas,datos WHERE aulas.id_aula=datos.id_aula" ) or die( mysql_error ());  pero ....como muestro ....trate asi pero no funciono Código PHP: echo  ...
  #1 (permalink)  
Antiguo 02/02/2004, 15:45
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Información Como mostrar el resultado de esta consulta

hola, tengo este consulta
Código PHP:
$sql3 mysql_query("SELECT * FROM aulas,datos WHERE aulas.id_aula=datos.id_aula") or die(mysql_error()); 
pero ....como muestro ....trate asi pero no funciono
Código PHP:
echo "Aula de la tabla Aula : "$row3=['aulas.id_aula'];
echo 
"Aula de la tabla datos : ".$row3=['datos.id_aula']; 
Es una locura eso de tabla.campo, pero uff quiero mostrar cada cosa independiendo, por que si no solo hiciera $row3['id_aula']

Existe alguna forma de mostrar datos de ambas tablas via esta sola consulta?
__________________
www.dataautos.com

Última edición por asinox; 02/02/2004 a las 15:49
  #2 (permalink)  
Antiguo 02/02/2004, 15:57
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Los arrays de PHP no aceptan esa nomenclatura (tabla.campo). Para poder acceder a los campos de igual nombre, pero de tablas distintas, tienes que crear alias para esos campos, y referirte a esos alias:
Código PHP:
$sql3 mysql_query("SELECT aulas.id_aula as id_aula_aulas, datos.id_aula as id_aula_datos FROM aulas,datos WHERE aulas.id_aula=datos.id_aula") or die(mysql_error());
...



echo 
"Aula de la tabla Aula : "$row3['id_aula_aulas'];

echo 
"Aula de la tabla datos : ".$row3[id_aula_datos]; 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 02/02/2004, 16:01
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
gracias por recordarme los alias...lo he usado, pero la verdad no me llego ahora eso a la cabeza

Salduos josemi
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 02/02/2004, 16:04
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 4 meses
Puntos: 69
Te recomendaría que redefinas tu consulta para que incluya el nombre de los campos que te interesa seleccionar. Si te interesan todos seria:

SELECT aulas.*, datos.* FROM aulas, datos WHERE aulas.id_aula=datos.id_aula

igualmente, antes de pedir los datos, te diria que hagas un print_r($row3) para que veas que datos y con que indices te devolvió el array la funcion mysql_fetch_array.

Como consejo final, te diria que en tus Querys, solamente incluyas los nombres de las variables que te interesan pedir, y evites los "*" ya que son bastante ineficientes:

SELECT aulas.campo1, aulas.campo2, datos.campo FROM aulas JOIN datos USING (id_aula) -- Esta es otra manera de escribir tu query.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 03/02/2004, 16:27
Avatar de Willjce  
Fecha de Ingreso: diciembre-2003
Ubicación: Lima - Peru
Mensajes: 67
Antigüedad: 20 años, 3 meses
Puntos: 0
Idea

Hola...
te diria de otra manera....:


$sql3 = mysql_query("SELECT * FROM aulas,datos WHERE aulas.id_aula=datos.id_aula") or die(mysql_error());

la otra:

$sql="SELECT a.id_aula,d.id_aula FROM aulas as a,datos as d WHERE a.id_aula=d.id_aula";
$resultado=mysql_query($sql);
$row=mysql_fetch_array($resultado);

echo "Aula de la tabla Aula : ". $row3=[0];

echo "Aula de la tabla datos : ".$row3=[1];

prueba con esto..... lo importante que la programacion sea robusta!!!!
__________________
Cita:
El éxito se alcanza convirtiendo cada paso en una meta y cada meta en un paso :pensando:
Att...
Tu amigo Willy... :aplauso:
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:22.