Foros del Web » Programando para Internet » PHP »

Mostrar resultados de consulta Mysql

Estas en el tema de Mostrar resultados de consulta Mysql en el foro de PHP en Foros del Web. Hola a todos, tengo un problema: Tengo 2 tablas, una tabla A y otra tabla B de esta forma: Cita: TABLA A +---------+------------+------------+------------+ |----id----|--camp1A-|-camp2A--|--camp3A-| +---------+------------+------------+------------+ ...
  #1 (permalink)  
Antiguo 03/06/2009, 19:05
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Mostrar resultados de consulta Mysql

Hola a todos, tengo un problema:
Tengo 2 tablas, una tabla A y otra tabla B de esta forma:

Cita:
TABLA A
+---------+------------+------------+------------+
|----id----|--camp1A-|-camp2A--|--camp3A-|
+---------+------------+------------+------------+
+---------+------------+------------+------------+
|----1-----|-----a1----|-----a2-----|-----a3----|
+---------+------------+------------+------------+
+---------+------------+------------+------------+
|----2-----|-----b1----|-----b2-----|-----b3----|
+---------+------------+------------+------------+
+---------+------------+------------+------------+
|----3-----|------c1----|-----c2-----|-----c3----|
+---------+------------+------------+------------+

TABLA B
+---------+------------+------------+------------+
|----id----|--camp1B-|-camp2B--|--camp3B-|
+---------+------------+------------+------------+
+---------+------------+------------+------------+
|----1-----|-----a1B---|-----a2B---|-----a3B---|
+---------+------------+------------+------------+
Lo que pretendo es hacer una consulta de tal forma que me muestre los resultados de la fila 2 de la TABLA A y los resultados de la fila de la TABLA B.

Lo hago de esta forma:
Código PHP:
$dia=date("j");
mysql_select_db($base$con);

  
$condicion "SELECT * FROM tabla_a, tabla_b LIMIT $dia,2";
  
$consulta mysql_db_query($base,$condicion) or die (mysql_error());
$con=mysql_close($con); 
Hasta ahí sin problema. La cosa se complica cuando quiero sacar los resultados.
Para obtener los resultados del la columna camp1A lo hago así de forma satisfactoria:

Código PHP:
while($array mysql_fetch_array($consulta))
               {
                 echo 
$array['camp1A'];
               } 
Y mi pregunta es... ¿cómo puedo obtener el resultado del campo camp1B, que es un valor numérico, para hacer operaciones con él?

Muchas gracias y un saludo

Última edición por etanol; 03/06/2009 a las 19:11
  #2 (permalink)  
Antiguo 03/06/2009, 19:09
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

Hay alguna columna tanto en la TablaA como en la TablaB que se comparten información.

Por ejemplo yo cree una base de datos que en la TablaA guardo supervisores en la TablaB guardo empleados regulares pero tengo una columna que indica cual es el supervisor que tiene acargo a traves del ID de la TablaA

TablaA
ID, Nombre_Supervisor

TablaB
ID, Nombre_Empleado, ID_Supervisor
  #3 (permalink)  
Antiguo 03/06/2009, 19:20
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Mostrar resultados de consulta Mysql

Exacto, el campo que comparten es id, pero esos datos no los pretendo mostrar.
Mi intencion es mostrar el dato de la celda a1B, ¿cómo puedo hacerlo?

Muchas gracias
  #4 (permalink)  
Antiguo 03/06/2009, 19:22
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Mostrar resultados de consulta Mysql

para poder sacar informacion de las dos tablas lo puedes hacer con inner join pero para eso tus dos tablas deben de estar relacionadas por un campo
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #5 (permalink)  
Antiguo 03/06/2009, 19:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

Te pregunto porque es más facil entonces unir las tablas, te voy a indicar con el ejemplo que te di

Yo quiero mostrar que supervisor le toca a que empleado pues hago esto en el query

Código PHP:
$sql "SELECT a.Nombre_Supervisor as NS, b.Nombre_Empleado as NE FROM TablaA a, TablaB b WHERE a.ID = b.ID_Supervisor";
$r mysql_query($sql) or die(mysql_error());

while(
$row mysql_fetch_assoc($r)){
  echo 
"El empleado " $row["NE"] . " esta bajo el supervisor " $row["NA"] . "<br />";

Me dejas saber si tienes dudas
  #6 (permalink)  
Antiguo 03/06/2009, 19:27
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Mostrar resultados de consulta Mysql

umm bueno no seria optimo que compartieran el mismo id para eso pon lo en la misma, en una puedes tener la id y en la otra tabla puede ser la llave foranes pero en fin si lo que quieres es asi puedes hacerlo con inner join como te dije algo asi:

Código PHP:
$condicion "SELECT * FROM tabla_a INNER JOIN tabla_b ON tabla_b.id=tabla_a.id  LIMIT $dia,2";
$consulta mysql_db_query($base,$condicion) or die (mysql_error());

while(
$array mysql_fetch_array($consulta))
               {
                 echo 
$array['camp1A'];
                 echo 
$array['camp1B'];
               } 
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #7 (permalink)  
Antiguo 03/06/2009, 19:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Mostrar resultados de consulta Mysql

Gracias por responder, pero a ver, que nos estamos haciendo un lio.
Es cierto que en la TABLA A hay un campo que se llama id y es cierto que en la TABLA B hay un campo que se llama también id.

No es mi intención relacionar esos dos campos.

He obtenido los datos de la TABLA A que me interesaban, y ahora sólamente quiero sacar el dato que hay en la celda a1B de la TABLA B.

La consulta a la base de datos ya está realizada.
Y ahora mi pregunta es... ¿cómo muestro ese resultado?

Muchas gracias por responder, espero que ahora esté más clara mi pregunta y perdón por las molestias.
  #8 (permalink)  
Antiguo 03/06/2009, 19:53
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

verifica si el query de By_George te funciona
  #9 (permalink)  
Antiguo 03/06/2009, 20:09
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Mostrar resultados de consulta Mysql

Cita:
Iniciado por etanol Ver Mensaje
Código PHP:
while($array mysql_fetch_array($consulta))
               {
                 echo 
$array['camp1A'];
               } 
umm pues si lo obtienes ya y muestras un dato ya pues asi muestra el del campo a1b
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #10 (permalink)  
Antiguo 03/06/2009, 20:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Mostrar resultados de consulta Mysql

Hola, a priori te diré que no me va a servir, porque ese código interrelaciona las dos tablas a través de su id y no es mi intención interrelacionarlas.

Cita:
Iniciado por By_George Ver Mensaje
$condicion = "SELECT * FROM tabla_a INNER JOIN tabla_b ON tabla_b.id=tabla_a.id LIMIT $dia,2";
La consulta a la base de datos ya está realizada

Cita:
$condicion = "SELECT * FROM tabla_a, tabla_b LIMIT $dia,2";
Mi intención es mostrar la celda a1B de la TABLA B.

Gracias y un saludo. ¿¿Alguna solución??
  #11 (permalink)  
Antiguo 03/06/2009, 20:14
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Mostrar resultados de consulta Mysql

pues si tu consulta ya te sale muestra el dato de la columna a1b asi como muestras e de campo1a:

while($array = mysql_fetch_array($consulta))
{
echo $array['camp1A'];
echo $array['camp1b'];
}
__________________
La estadística es una ciencia que demuestra que si mi vecino tiene dos coches y yo ninguno, los dos tenemos uno.
  #12 (permalink)  
Antiguo 03/06/2009, 20:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

ok pues entonces has dos consultas individuales
$s1 = "SELECT * FROM tabla_a LIMIT $dia,2";
$r1 = mysql_query($s1);
while($row1 = mysql_fetch_assoc($r1)){
echo $row1["COLUMNA_QUE_TE_INTERESA"];
}

$s2 = "SELECT * FROM tabla_b LIMIT $dia,2";
$r2 = mysql_query($s2);
while($row2 = mysql_fetch_assoc($rW)){
echo $row2["COLUMNA_QUE_TE_INTERESA"];
}
  #13 (permalink)  
Antiguo 03/06/2009, 20:20
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Mostrar resultados de consulta Mysql

Si, así si me aparece, pero luego ¿cómo lo manipulo? porque sale como una matriz, no como un dato concreto!!

Por eso mi pregunta es... ¿cómo muestro el dato de la celda a1B de la TABLA B?

Como he dicho antes, mi intención es realizar operaciones con él.

Gracias y un saludo.
  #14 (permalink)  
Antiguo 03/06/2009, 20:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

podrias explicar a que te refires con que deseas hacer operaciones con el para decirte como puedes entonces realizarlo
  #15 (permalink)  
Antiguo 03/06/2009, 20:33
 
Fecha de Ingreso: marzo-2005
Mensajes: 149
Antigüedad: 19 años, 1 mes
Puntos: 0
Respuesta: Mostrar resultados de consulta Mysql

El dato que me tendría que devolver sería por ejemplo "5".

La intención sería:

Cita:
$suma = $array['celda a1B'] + 15;
echo $suma;
... pero esto no me permite realizarlo porque $array['celda a1B'] es una matriz, no un dato.
No se si me explico!!

¿Alguna solución? Gracias.
  #16 (permalink)  
Antiguo 03/06/2009, 20:37
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Mostrar resultados de consulta Mysql

Trata entonces

$setNumber = $array['celda a1B'];
$suma = (int)$setNumber + 15;
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 06:05.