Foros del Web » Programando para Internet » PHP »

Sacar un valor de una tabla

Estas en el tema de Sacar un valor de una tabla en el foro de PHP en Foros del Web. Hola amigos, tengo un problema que no soy capaz de resolver. Dispongo de la siguiente tabla: Código HTML: Nombre Valor1 Valor2 Valor3 Pedro 3 5 ...
  #1 (permalink)  
Antiguo 10/05/2015, 07:10
 
Fecha de Ingreso: noviembre-2011
Ubicación: Almeria
Mensajes: 43
Antigüedad: 8 años, 3 meses
Puntos: 0
Sacar un valor de una tabla

Hola amigos, tengo un problema que no soy capaz de resolver. Dispongo de la siguiente tabla:


Código HTML:
Nombre Valor1 Valor2 Valor3
Pedro     3        5    7
Juan      8        9    4
Quiero sacar con php un único valor pasando en numero de valor que quiero mostrar por variable($valor). Creo que la consulta seria

Código HTML:
SELECT $valor1 FROM `usuario`WHERE user = "$nombre"
he probado buscando en el foro y he visto varias formas pero ninguna me funciona. Llevo dos días probando y me doy por vencido. ¿Alguien puede ponerme el código php que cree que funcionaria? Gracias
  #2 (permalink)  
Antiguo 10/05/2015, 08:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.323
Antigüedad: 12 años, 2 meses
Puntos: 2654
Respuesta: Sacar un valor de una tabla

Para que eso funcione, $valor debe contener uno de estos valores:
- Valor1
- Valor2
- Valor3

Además, si el campo que debes comparar es el primero, es incorrecto que pongas "user", porque tu tabla no contiene ninguna columna con ese nombre. ¿Eso lo tuviste en cuenta?

Si es correcto lo que muestras en el ejemplo, la query debería ser mas o menos así:
Código PHP:
Ver original
  1. $sql = "SELECT $valor1 FROM `usuario`WHERE Nombre = '$nombre'";
Con eso la variable $sql contengrá la sentencia correcta, aunque aún falta saber con qué DBMS trabajas y cómo la mandas a ejecutar...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/05/2015, 09:18
 
Fecha de Ingreso: noviembre-2011
Ubicación: Almeria
Mensajes: 43
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Sacar un valor de una tabla

Si, he tenido en cuenta eso. Se que $valor tiene que contener el nombre del campo y me equivoque al escribir user, el verdadero nombre del campo de mi bd es user, lo cambie a nombre porque pensé que entenderíais mejor la pregunta.

Código HTML:
$resultado = mysql_query("SELECT $valor1 FROM `usuario`WHERE Nombre = '$nombre'", $conexion);
				
	while ($row = mysql_fetch_row($resultado))
	{
		$valor=$row[0];
	}	
	echo $valor;
Esto no funciona y el lo que estoy probando
  #4 (permalink)  
Antiguo 10/05/2015, 11:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.323
Antigüedad: 12 años, 2 meses
Puntos: 2654
Respuesta: Sacar un valor de una tabla

¿No funciona en que sentido?
No devuelve datos, o devuelve un error?
Esto último no creo que lo sepas porque no estás evaluando si la base devuelve o no un error. Al menos eso deberías hacer. Que algo esté bien escrito no quiere decir que no falle por defectos de datos, o de variables.

Te sugiero que tengas en cuenta mejores prácticas para programar, como por ejemplo no invocar la ejecución de las sentencias directamente en la función, sino cargarlas en una variable. De ese modo puedes verificar previamente si la query quedó bien construida, cosa que como la escribes es imposible.
Además, te conivene verificar si realmente hubo una ejecución exitosa para saber si obtuviste algo...
Por otro lado, al menos usa or die() para ver si hubo algún error:
Código PHP:
Ver original
  1. $qry = "SELECT $valor1 FROM `usuario`WHERE Nombre = '$nombre'";
  2. echo $qry;
  3. $resultado = mysql_query($qry, $conexion);
  4. if($resultado)
  5.   {
  6.     while ($row = mysql_fetch_row($resultado))
  7.     {
  8.         $valor=$row[0];
  9.     }  
  10.     echo $valor;
  11.   }
  12. else
  13.   {echo "Error al ejecutar la consulta: ".mysql_error();}
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 10/05/2015 a las 11:34

Etiquetas: valor
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 04:10.