Foros del Web » Programando para Internet » PHP »

Problemas funcion eval()

Estas en el tema de Problemas funcion eval() en el foro de PHP en Foros del Web. Hola Amigos. Les explico: Estoy desarrolando un script que me almacene los resultados de una consulta en una matiz asociativa, pero la verdad es que ...
  #1 (permalink)  
Antiguo 31/10/2007, 03:19
 
Fecha de Ingreso: mayo-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Problemas funcion eval()

Hola Amigos.

Les explico:

Estoy desarrolando un script que me almacene los resultados de una consulta en una matiz asociativa, pero la verdad es que no tengo experiencia con este tipo de matrices por eso creo que me estoy complicando un poco la vida.

Al principio mi codigo era este:

$sql="SELECT (stamper)AS medio,(uds)AS unidades,precio FROM stampers WHERE idproducto=$idproducto";
$stamper=mysql_query($sql);

while($fila=mysql_fetch_array($stamper))
{
$_SESSION['precio_stampers']=array($fila['medio']=>$fila['precio']);
}

Evidentemente esto lo unico que hace es guardarme el ultimo resultado de la consulta. Si supiera rellenar este array asociativo dinamicamente mis problemas se acabarian, pero despues de investigar y buscar y probar durante mucho rato sin resultados, se me ha ocurrido una idea, que es recurrir a la funcion eval(), por lo que mi codigo ha quedado en esto:

$sql="SELECT (stamper)AS medio,(uds)AS unidades,precio FROM stampers WHERE idproducto=$idproducto";
$stamper=mysql_query($sql);

$cont=0;
while($fila=mysql_fetch_array($stamper))
{

if($cont==0)
{
$cadena_matriz="'".$fila['medio']."'=>'".$fila['precio']."'";
}
else
{
$cadena_matriz=$cadena_matriz.",'".$fila['medio']."'=>'".$fila['precio']."'";
}

$cont++;
}

$_SESSION['precio_stampers']=array(eval($cadena_matriz));

El resultado de construir la cadena '$cadena_matriz' es el siguiente:

'CD-AUDIO'=>'300','HD-DVD'=>'400'

que es como se deberia crear la matriz asociativa, pero me lanza el siguiente error:

Parse error: syntax error, unexpected T_DOUBLE_ARROW in G:\www\PRESUPUESTOS\CREARPRESUPUESTO\NUEVOPRODUCTO \NUEVOPRODUCTO.php(83) : eval()'d code on line 1

Cualquier ayuda que puedan prestarme se lo agradecere.

Gracias
  #2 (permalink)  
Antiguo 31/10/2007, 03:25
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: Problemas funcion eval()

Prueba así:
Código PHP:
while($fila=mysql_fetch_array($stamper))
{
$_SESSION['precio_stampers'][ $fila['medio'] ] = fila['precio']);

Un saludo
  #3 (permalink)  
Antiguo 31/10/2007, 03:38
 
Fecha de Ingreso: mayo-2007
Mensajes: 15
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problemas funcion eval()

Funciona PERFECTAMENTE muchas gracias.

No obstante y por curiosidad, sabrias decirme que problema hay con la funcion eval().
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 07:07.