Foros del Web » Programando para Internet » PHP »

Enlazar resultados MySQL

Estas en el tema de Enlazar resultados MySQL en el foro de PHP en Foros del Web. El título quizás no está expuesto bien, ya que no sabría decir lo que quiero en 4 palabras... Lo que quiero saber es cómo mostrar ...
  #1 (permalink)  
Antiguo 04/01/2012, 09:38
 
Fecha de Ingreso: enero-2012
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Enlazar resultados MySQL

El título quizás no está expuesto bien, ya que no sabría decir lo que quiero en 4 palabras...

Lo que quiero saber es cómo mostrar datos del usuario... ejemplo:


Si pongo "User.name" aparezca el nombre de usuario
Si pongo "User.email" aparezca el e-mail del usuario
Si pongo "User.avatar" aparezca el avatar del usuario

En User iría el nombre del usuario... quizás no sería precisamente Luis.avatar y sería {luis_avatar}, pero es un ejemplo para que me entiendan mejor lo que quiero hacer :S

PD: vale que pueda hacerlo así:

Código PHP:
Ver original
  1. $sql = "SELECT * FROM users WHERE name='Luis'";
  2. $er = mysql_query($sql, $conexion) or die(mysql_error());
  3. $datos = mysql_num_rows($er);

Y luego ponga
Código PHP:
Ver original
  1. echo "$datos['email']";
; y aparecería el e-mail de Luis pero sería para un perfil específico y tendría que hacer muchas consultas para otros nombres... por lo que quedaría
Código PHP:
Ver original
  1. $sql = "SELECT * FROM users";

y a partir de ahí, dependiendo del nombre que yo ponga (Luis.email u otra cosa) aparezca el e-mail del usuario que he puesto...

Última edición por Isidromlc; 04/01/2012 a las 09:48
  #2 (permalink)  
Antiguo 04/01/2012, 10:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Enlazar resultados MySQL

Lo que se me ocurre a lo que entiende que pretendes hacer es que barras todos los resultados de maneras:
Código PHP:
Ver original
  1. $sql = "SELECT * FROM users '";
  2.     $er = mysql_query($sql, $conexion) or die(mysql_error());
  3.  
  4.  while ($resp = mysql_fetch_array($er){
  5.  // METODO 1
  6. $$resp['name']->email = $resp['email'];
  7. $$resp['name']->name= $resp['name'];
  8. $$resp['name']->avatar= $resp['avatarl'];
  9.  
  10. // METODO 2
  11.  
  12.  
  13.               $Info[$resp['name']]->email = $resp['email'];
  14.               $Info[$resp['name']]->nombre= $resp['name'];
  15.               $Info[$resp['name']]->avatar = $resp['avatar'];
  16.  
  17. }
y después para obtener sería
METODO 1
Nombre: $Luis->nombre;
Email: $Luis->email;
Avatar: $Luis->avatar;
METODO 2
Nombre: $Info['Luis']->email;
Email: $Info['Luis']->email;
Avatar: $Info['Luis']->avatar;
  #3 (permalink)  
Antiguo 04/01/2012, 17:11
 
Fecha de Ingreso: enero-2012
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Enlazar resultados MySQL

Cita:
Iniciado por turfeano Ver Mensaje
Lo que se me ocurre a lo que entiende que pretendes hacer es que barras todos los resultados de maneras:
Código PHP:
Ver original
  1. $sql = "SELECT * FROM users '";
  2.     $er = mysql_query($sql, $conexion) or die(mysql_error());
  3.  
  4.  while ($resp = mysql_fetch_array($er){
  5.  // METODO 1
  6. $$resp['name']->email = $resp['email'];
  7. $$resp['name']->name= $resp['name'];
  8. $$resp['name']->avatar= $resp['avatarl'];
  9.  
  10. // METODO 2
  11.  
  12.  
  13.               $Info[$resp['name']]->email = $resp['email'];
  14.               $Info[$resp['name']]->nombre= $resp['name'];
  15.               $Info[$resp['name']]->avatar = $resp['avatar'];
  16.  
  17. }
y después para obtener sería
METODO 1
Nombre: $Luis->nombre;
Email: $Luis->email;
Avatar: $Luis->avatar;
METODO 2
Nombre: $Info['Luis']->email;
Email: $Info['Luis']->email;
Avatar: $Info['Luis']->avatar;
Gracias por intentar ayudarme... usé el método uno pero tengo el siguiente código:

Código PHP:
Ver original
  1. <?
  2. include('../inc/php/config.php');
  3. $sql = "SELECT * FROM usuarios";
  4. $er = mysql_query($sql, $conexion) or die(mysql_error());
  5. while($resp = mysql_fetch_array($er)){
  6. $resp['Luis']->nombre = $resp['name'];
  7. }
  8. $Luis->nombre;
  9. ?>

y los siguientes errores aparecen:

Strict Standards: Creating default object from empty value in C:\xampp\htdocs\... on line 6 => aparece 10 veces

Notice: Undefined variable: Luis in C:\xampp\htdocs\... on line 8 => aparece una vez

Notice: Trying to get property of non-object in C:\xampp\htdocs\... on line 8 => aparece una vez


Usando el método dos aparecen errores similares... ¿qué hago mal?
  #4 (permalink)  
Antiguo 04/01/2012, 17:40
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Enlazar resultados MySQL

No sé donde estarás probando, pero si tenés acceso al php.ini , deberías modificar que no te muestre los "Notice" , ya que no son errores.
Por ejemplo, un notice puede lanzarse por el simple hecho de declarar una variable y no utilizarla...

Por otro lado el codigo que probaste tiene errores, ya que no es como el que te mostre:

Código PHP:
Ver original
  1. while($resp = mysql_fetch_array($er)){
  2. $resp['Luis']->nombre = $resp['name'];
  3. }
  4. $Luis->nombre;
  5.     ?>
Esto esta mal por 2 razones:
1- Que en el while estas asignando el dato obtenido de la bd ($resp['name'] ) siempre a la misma variable. Con lo cual al salir del bucle
$resp['Luis']->nombre tendrá el valor del ultimo registro leido.
2- De la manera en que lo hiciste, no existe la variable $Luis y por supuesto tampoco tiene valor $Luis->nombre .
Lo que existe en tal caso es $resp['Luis']->nombre .


Saludos.

Última edición por turfeano; 04/01/2012 a las 17:49

Etiquetas: enlazar, mysql, resultados, 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 03:04.