Foros del Web » Programando para Internet » PHP »

asignar valor de un arreglo a una variable de sesión

Estas en el tema de asignar valor de un arreglo a una variable de sesión en el foro de PHP en Foros del Web. hola! un saludo de antemano y gracias pro su atención, sin más rodeos tengo el siguiente código y lo que intento es asignar el valor ...
  #1 (permalink)  
Antiguo 19/10/2011, 10:58
Avatar de emmanuelhxc  
Fecha de Ingreso: octubre-2011
Ubicación: México
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta asignar valor de un arreglo a una variable de sesión

hola! un saludo de antemano y gracias pro su atención, sin más rodeos tengo el siguiente código y lo que intento es asignar el valor de una una fila a una variable de sesión y si lo guarda pero me guarda siempre el último valor y no el valor según sea el que esté listado
$lista1 = mysql_query("SELECT
nom_prod,
count(*) as n
FROM
dia_prod
where nom_prod LIKE '".$abcp[$letra]."%' GROUP BY nom_prod LIMIT "10"");
echo '<table width="800" border="0" cellspacing="0">';
$colorfila="#094d14";
while($fila = mysql_fetch_array($lista1))
{ if ($colorfila==0){
$color="#094d14";
$colorfila=1;
}else{
$color="#73B380";
$colorfila=0;
}
$_SESSION["n_prod"]=$fila["nom_prod"]; AQUI ES DONDE GUARDO EL VALOR PERO SIEMPRE ME TOMA EL ÚLTIMO VALOR Y NO EL VALOR DEL DATO QUE YO SELECCIONO
echo '
<tr>
<td bgcolor='.$color.'><a href="perfildelproducto.php">'.$fila["nom_prod"].'</a></td>
<td bgcolor='.$color.'><span class="euro">No. de proveedores: '.$fila["n"].'</span></td>
</tr>
<tr>
<td colspan="2" bgcolor='.$color.'></td>
</tr>';
}
mysql_free_result($lista1);
echo'</table>';
  #2 (permalink)  
Antiguo 19/10/2011, 11:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: asignar valor de un arreglo a una variable de sesión

Es normal lo que resaltas, pues en cada vuelta del bucle sobreescribes la misma variable con el valor actual, lo cual resulta en el último valor.

No entiendo que es lo que planeas, pero así tienes programado tu código, y hace solo lo que tu le indicas.

¿A que te refieres con "no el valor según sea el que esté listado"?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/10/2011, 11:21
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: asignar valor de un arreglo a una variable de sesión

cambia esto

Código PHP:
Ver original
  1. $_SESSION["n_prod"]=$fila["nom_prod"];

por esto

Código PHP:
Ver original
  1. $_SESSION["n_prod"][] =$fila["nom_prod"];

y así $_SESSION["n_prod"] pasa a ser un arreglo por si mismo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #4 (permalink)  
Antiguo 19/10/2011, 11:52
Avatar de emmanuelhxc  
Fecha de Ingreso: octubre-2011
Ubicación: México
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: asignar valor de un arreglo a una variable de sesión

Cita:
Iniciado por pateketrueke Ver Mensaje
Es normal lo que resaltas, pues en cada vuelta del bucle sobreescribes la misma variable con el valor actual, lo cual resulta en el último valor.

No entiendo que es lo que planeas, pero así tienes programado tu código, y hace solo lo que tu le indicas.

¿A que te refieres con "no el valor según sea el que esté listado"?
de antemano gracias por la atención y la respuesta, lo que intento es que al dar click a un producto se valla a una página que contenga los datos de cada producto y la forma de identificar el producto es con una variable de sesión para yo poder utilizarla en la siguiente pagina que contiene las especificaciones del producto ejemplo

sillas ----- N° de proveedores 10
papel ----- _N° de proveedores 2
memorias --- N° de proveedores 4

entonces al dar click a sillas me manda a unas especificaciones de las sillas
si doy click en papel las especificaciones del papel y lo mismo con las memorias

esa es la idea
  #5 (permalink)  
Antiguo 19/10/2011, 11:56
Avatar de emmanuelhxc  
Fecha de Ingreso: octubre-2011
Ubicación: México
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: asignar valor de un arreglo a una variable de sesión

Cita:
Iniciado por h2swider Ver Mensaje
cambia esto

Código PHP:
Ver original
  1. $_SESSION["n_prod"]=$fila["nom_prod"];

por esto

Código PHP:
Ver original
  1. $_SESSION["n_prod"][] =$fila["nom_prod"];

y así $_SESSION["n_prod"] pasa a ser un arreglo por si mismo.
hola de antemano gracias por la respuesta, ya implemente la modificación y si hago click en el producto no me respeta ese valor de la variable sino que pone el valor de un producto que no estaba listado
  #6 (permalink)  
Antiguo 19/10/2011, 12:05
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: asignar valor de un arreglo a una variable de sesión

Ahora $_SESSION["n_prod"] es un arreglo! intenta hacer un var_dump($_SESSION["n_prod"]); asi entiendes su contenido y vez como recorrerlo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: mysql+php, session, 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 15:50.