Foros del Web » Programando para Internet » PHP »

Manejo de variables en una consulta

Estas en el tema de Manejo de variables en una consulta en el foro de PHP en Foros del Web. Hola a todos. Me gustaria que me ayudaseis porque estoy empezando con PHP y quiero hacer algunas cosas que no me salen. Lo que quiero ...
  #1 (permalink)  
Antiguo 08/06/2010, 08:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 85
Antigüedad: 14 años, 8 meses
Puntos: 0
Manejo de variables en una consulta

Hola a todos. Me gustaria que me ayudaseis porque estoy empezando con PHP y quiero hacer algunas cosas que no me salen.

Lo que quiero es hacer una consulta y en dicha consulta usar una variable, por ejemplo:

mysql_query("select max(codproducto) from tabla1 where color='$color'")

donde $color es la variable y color es un campo de la tabla. Lo hago asi pero no me sale.

Por ultimo el resultado de esa consulta me va a dar un valor, que en realidad va a ser un numero. ¿como puedo almacenar ese valor en una variable?

Muchas gracias por vuestra ayuda!!
  #2 (permalink)  
Antiguo 08/06/2010, 09:05
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 14 años, 5 meses
Puntos: 9
Respuesta: Manejo de variables en una consulta

Hola tu script php esta bien, tambien puedes concatenar la variable de esta forma:


$select = mysql_query("SELECT MAX(codproducto) as CODIGO FROM tabla WHERE color='".$color."'");

luego para almacenarlo en una variable lo metes en un arreglo con mysql_fetch_array o mysql_fetch_row. La diferencia entre array y row es que array te lo regresa con los nombres de los campos y row con numeros del 0 hasta N donde N es la cantidad de campos menos 1.

Asi lo harias con mysql_fetch_array

$variable = mysql_fetch_array($select);

Obviamente te regresa los campos que tengas depues del SELECT, en este caso te regresa el campo CODIGO, y con eso puedes usar los valores de los campos asi...

$valor_campo = $variable['CODIGO'];

Si no te corre con esto, debes de checar bien tu conexion a la BD y el nombre de tus campos y tabla.

Este ejemplo es solo cuando regresa un registro tu consulta, si regresa mas de uno deberias de usar un FOREACH o un WHILE para recorrer registro por registro. Un ejemplo...

$consulta= mysql_query("SELECT * FROM empleados"); //Suponiendo que hay mas de 1 empleado
while($registro = mysql_fetch_array($consulta))
{
echo $registro['campo1']."-".$registro['campo2']."-".$registro['campo3']."<br>";
}

Este ejemplo regresa cada empleado (Registro por registro) con sus datos de cada campo correspondiente.

Espero y te ayude.
Saludos

Última edición por gysato; 08/06/2010 a las 09:27
  #3 (permalink)  
Antiguo 08/06/2010, 09:22
Avatar de fermar21  
Fecha de Ingreso: marzo-2004
Ubicación: San Nicolas - Bs. As.
Mensajes: 294
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Manejo de variables en una consulta

Hola Karla,

Tu consulta SQL esta bien escrita con la variable PHP. Lo unico que te faltaria seria asignarle un nombre al campo que te devuelve. Aqui va un ejemplo

Código PHP:
$result mysql_query("select max(codproducto) as vDevuelto from tabla1 where color='$color'");
$row mysql_fetch_array($result);
$vDevuelto $row["vDevuelto "];
mysql_free_result($result); 
en $vDevuelto se guarda el valor devuelto.

Saludos,
__________________
Fernando Marinzulich
Programador Web (PHP/MySQL/Jquery)
  #4 (permalink)  
Antiguo 08/06/2010, 12:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 85
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Manejo de variables en una consulta

Ya lo consegui!!! muchas gracias por vuestra ayuda, sois unos máquinas!! :)

Etiquetas: manejo, variables
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 12:19.