Foros del Web » Programando para Internet » PHP »

Consulta

Estas en el tema de Consulta en el foro de PHP en Foros del Web. Tabla 1 id=1--------username=ADMIN id=2--------username=user1 id=3--------username=user2 Tabla 2 id=1-------id_tabla=1------VALOR=valor1 id=2-------id_tabla=1------VALOR=valor2 id=3-------id_tabla=3------VALOR=valor Mi pregunta es, como obtengo los valores ( valor1 y valor2 ) y guardarlos en ...
  #1 (permalink)  
Antiguo 17/06/2012, 18:21
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Pregunta Consulta

Tabla 1

id=1--------username=ADMIN
id=2--------username=user1
id=3--------username=user2

Tabla 2

id=1-------id_tabla=1------VALOR=valor1
id=2-------id_tabla=1------VALOR=valor2
id=3-------id_tabla=3------VALOR=valor


Mi pregunta es, como obtengo los valores ( valor1 y valor2 ) y guardarlos en variables separadas,

yo hago. ( no se si estara bien )

Código PHP:

$username 
'ADMIN';

$Consulta_id=mysql_query("SELECT * FROM Tabla 1 WHERE username = ".$username,$conexion);
while(
$id_user=mysql_fetch_array($consulta_id){
$ID=$id_user['id'];

aca obtengo el ID del usuario ADMIN

Mi problema se presenta ahora, quiero obtener los valores ( VALOR 1, VALOR 2 ) correspondientes
al usuario ADMIN ya que el id_tabla es el mismo id del ADMIN y guardarlos en variables separadas. No se como hacerlo.

muchas gracias desde ya...

Última edición por quemaestroyo; 17/06/2012 a las 18:26
  #2 (permalink)  
Antiguo 17/06/2012, 18:27
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Consulta

Perdon por colgar la consulta en el foro PHP.. no habia visto que habia un foro MYSQL.. trate de mover o borrar el post y no pude. Perdon.
  #3 (permalink)  
Antiguo 17/06/2012, 19:02
Avatar de patriciomase  
Fecha de Ingreso: abril-2012
Ubicación: Mar del Plata
Mensajes: 323
Antigüedad: 12 años
Puntos: 34
Respuesta: Consulta

no entiendo bien como se relacionan las tablas pero sin dudas lo que tenes que hacer es un inner join

Código SQL:
Ver original
  1. SELECT * FROM tabla1 t1
  2. INNER JOIN tabla2 t2
  3. ON t1.id = t2.id

o cambia el on por el valor que uses como fk, no se entiende se es t2.id o t2.id_tabla
  #4 (permalink)  
Antiguo 17/06/2012, 19:32
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Consulta

patriciomase:

Entiendo el inner join, pero ahora

¿Como hago para sacar los valores (valor1 y valor2) que corresponderian al usuario ADMIN?
  #5 (permalink)  
Antiguo 17/06/2012, 19:34
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: Consulta

ps yo creo que deberias hacer esto despues de tu primer consulta

Código PHP:

$username 
'ADMIN';

$Consulta_id=mysql_query("SELECT * FROM Tabla 1 WHERE username = ".$username,$conexion);
while(
$id_user=mysql_fetch_array($consulta_id){
$ID=$id_user['id'];

Seria esto

Código PHP:
$consulta_dos mysql_query("SELECT * FROM tabla 2 WHERE id_tabla = '$ID' ");
$var=0;
while(
$reg=mysql_fetch_array($consulta_dos)){
$var++;
$expresio "\$variable"$var "='".$reg['id_tabla']."';";/* aqui armo la variable con su respectivo valor ya sean 2 o mas resultados de la consulta*/
eval($expresion);
}

echo 
$variable1;
echo 
"<br>";
echo 
$variable2
Espero te ayude

Saludos
  #6 (permalink)  
Antiguo 17/06/2012, 19:41
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Consulta

cesar_viridi:

muchisimas gracias. funciona a la perfeccion. Logre entender como hacerlo.
  #7 (permalink)  
Antiguo 18/06/2012, 05:28
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Consulta

La respuesta que te dieron es válida pero no óptima. Se puede solucionar, tal y como te propone patriciomase con una sola consulta a la db, así haces menos consultas a la db y simplificas tu código.

Código PHP:
$consultamysql_query("SELECT t2.id FROM tabla_1 t1 left JOIN tabla_2 t2 ON t1.id = t2.id_tabla where t1.username = '$username'",$conexion);
//aqui ya tienes disponible el array $consulta, para manipularlo con foreach como quieras. Te será mas versatil que las variables.
echo $consulta[0]["id"];
echo 
$consulta[1]["id"]; 
Saludos.

Etiquetas: sql, tabla, variables, usuarios
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 09:56.