Foros del Web » Programando para Internet » PHP »

Problema al pasar una variable por $row['']

Estas en el tema de Problema al pasar una variable por $row[''] en el foro de PHP en Foros del Web. Hola buenas gente que tal, vereis tengo un problema tengo un codigo que me ejecuta una consulta, y al recoger el valor del campo le ...
  #1 (permalink)  
Antiguo 27/10/2007, 14:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema al pasar una variable por $row['']

Hola buenas gente que tal, vereis tengo un problema tengo un codigo que me ejecuta una consulta, y al recoger el valor del campo le he de pasar una variable a la sentencia row[], lo malo es que no me la acepta y no se que hacer.

El codigo es el siquiente:


Código PHP:
if ($valor==15){
    
$variable2="lvl_hermita";
}

//get_my_info($user);
$cookie_read explode("|"base64_decode($user));
//define variables to hold cookie values.
$userid $cookie_read[0];

//consulta

$sql "SELECT $variable2 FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
while (
$row mysql_fetch_assoc($result)) {
       echo 
$row['$variable2'];


echo $row['$variable2']; --> aqui esta el problema no devuelve nada.

Alguna idea? Llevo bastante tiempo mirandomelo y no saco la forma de hacerlo, gracias por vuestro tiempo!!!
  #2 (permalink)  
Antiguo 27/10/2007, 15:40
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Problema al pasar una variable por $row['']

Buenas,,
prueba con $row[0]; haber que te arroja

saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #3 (permalink)  
Antiguo 27/10/2007, 15:46
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

Buena si le paso el 0, no me arroja nada, pero si le paso el campo en cuestion si que me lo hace bien, osea la sentencia va bien, pero en vez de pasarle el campo en texto $row['id_usuario'] por ejemplo, quiero pasarselo mediante una variable donde guardo el campo, por ejemplo x= 'id_usuario' $row['x'].

Es esto posible? Hay alguna forma de hacerlo?
  #4 (permalink)  
Antiguo 27/10/2007, 16:17
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

Alguna idea amigos?
  #5 (permalink)  
Antiguo 27/10/2007, 16:24
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Problema al pasar una variable por $row['']

Cita:
Iniciado por B4l4 Ver Mensaje
Código PHP:
//consulta
$sql "SELECT $variable2 FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
while (
$row mysql_fetch_assoc($result)) {
       echo 
$row['$variable2'];

Hola B4l4, el $sql va bien?? le haz hecho un echo al sql??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 27/10/2007, 16:34
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

Sisi, la consulta esta bien y da bien, si dentro de row[] le meto el campo que quiero cojer.

Simplemente quiero hacerlo pasandole una variable temporal, donde anteriormente habre guardado el nombre del campo

Pero al pasarle la variable, asi-->row['$variable'] no la acepta, simplemente es eso, y pregunto si hay alguna forma de hacerlo, pero repito que si le paso el campo directamente a row me lo hace perfectamente.

Tengo la intuicion de que no se me esta entendiendo bien xD, quizas me exprese mal.

Saludos y gracias por vuestro tiempo!!
  #7 (permalink)  
Antiguo 27/10/2007, 16:36
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Problema al pasar una variable por $row['']

Me puedes mostrar el echo del $sql porfa??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 27/10/2007, 16:48
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

Claro, como no:

Mira este es el codigo:

Código PHP:
$valor $_GET["valor"];

// $valor =lvl_granja

//get_my_info($user);
$cookie_read explode("|"base64_decode($user));
//define variables to hold cookie values.
$userid $cookie_read[0];

//consulta

$sql "SELECT $valor FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
echo 
$sql;
while (
$row mysql_fetch_assoc($result)) {
       echo 
$row['lvl_granja'];

Y los resultados:


echo $sql-->>SELECT lvl_granja FROM Informacion WHERE id_usuario='31'

echo echo $row['lvl_granja'];-->59

Ves me lo hace bien, me saca el nivel que tiene el usuario que estoy consultando, pero lo que quiero es pasarle esto:

$variable=lvl_granja;

$row['variable'];
  #9 (permalink)  
Antiguo 27/10/2007, 17:00
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Pregunta Re: Problema al pasar una variable por $row['']

No entiendo

Si te funciona así:
Código PHP:
$sql "SELECT $valor FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
echo 
$sql;
while (
$row mysql_fetch_assoc($result)) {
       echo 
$row['lvl_granja'];

Para que haces esto:

Código PHP:
$variable=lvl_granja;

$row['variable']; 
Eso lo quieres hacer antes o después de la consulta??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #10 (permalink)  
Antiguo 27/10/2007, 17:07
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

A ver xDD, es que el codigo real es este:

Código PHP:
<?php
include("conect-bdd.php");

$valor $_GET["valor"];



/*if ($valor==1){
    $variable2="lvl_granja";
}
if ($valor==2){
    $variable2="lvl_aserradero";
}
if ($valor==3){
    $variable2="lvl_metalurgica";
}
if ($valor==4){
    $variable2="lvl_mina_oro";
}
if ($valor==5){
    $variable2="lvl_almacen_comida";
}
if ($valor==6){
    $variable2="lvl_almacen_madera";
}
if ($valor==7){
    $variable2="lvl_almacen_hierro";
}
if ($valor==8){
    $variable2="lvl_almacen_oro";
}
if ($valor==9){
    $variable2="lvl_cuartel";
}
if ($valor==10){
    $variable2="lvl_centro_urbano";
}
if ($valor==11){
    $variable2="lvl_castillo";
}
if ($valor==12){
    $variable2="lvl_herreria";
}
if ($valor==13){
    $variable2="lvl_alquimista";
}
if ($valor==14){
    $variable2="lvl_templo";
}
if ($valor==15){
    $variable2="lvl_hermita";
}*/

//get_my_info($user);
$cookie_read explode("|"base64_decode($user));
//define variables to hold cookie values.
$userid $cookie_read[0];

//consulta

$sql "SELECT $valor FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
echo 
$sql;
while (
$row mysql_fetch_assoc($result)) {
       echo 
$row['lvl_granja'];
}


//Mira valores nulos
if ($valor != NULL) {
    echo 
"<center><table border='1' width='40%'><tr><td width='100'>";
     echo 
"</strong><br>"
     echo 
"Edificio: <strong>".$variable2
     echo 
"<hr>";


//Falta el valor
}else {
echo 
"<FONT color='red'><strong>Faltan datos!</FONT>";
}
echo 
"</strong></td></tr></table>";

?>

Este script recoge una variable y dependindo de cual sea le asigna un valor, lvl_granja, mina de oro, etc....

Entonces para no tener que hacer 15 veces (1 en cada if una consulta),
le paso a row la variable2. Pero he comprobado que no se porque pero NO me devuelve nada, si le paso una variable, por eso el motivo de mi post, se le puede pasar una variable a row? hay alguna forma? xDD

Saludos, espero que ahora me haya expresado bien xD
  #11 (permalink)  
Antiguo 27/10/2007, 17:12
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Problema al pasar una variable por $row['']

Ahhhhhhhhhhhhhhhhhhhhhhh ya te entiendo

Cambia el mysql_fetch_assoc, por mysql_fetch_array... y le pones $row[0], osea así:

Código PHP:
$sql "SELECT $valor FROM Informacion WHERE id_usuario='$userid'";
$result mysql_query($sql);
echo 
$sql;
while (
$row mysql_fetch_array($result)) {
       echo 
$row['0'];

Espero te sirva!!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #12 (permalink)  
Antiguo 27/10/2007, 17:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 203
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Problema al pasar una variable por $row['']

ahora!!! muchas gracias ahora va bien, no conocia esa sentencia gracias!!
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 08:55.