Foros del Web » Programando para Internet » PHP »

Asignación dinámica de ids de variables

Estas en el tema de Asignación dinámica de ids de variables en el foro de PHP en Foros del Web. Hola a todos, me he encontrado con un problema al que no le doy la solución. Cuando proceso las variables que se pasan como parametro, ...
  #1 (permalink)  
Antiguo 11/03/2009, 02:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Asignación dinámica de ids de variables

Hola a todos, me he encontrado con un problema al que no le doy la solución. Cuando proceso las variables que se pasan como parametro, me llegan un numero de variables indefinido (&var1="prueba1", &var2="prueba2",&var3="prueba3",...)dependiendo del número de veces que el usuario pulse un botón.Para procesarlas estoy intentando hacer lo siguiente:
for ($i = 1; $i < $veces; $i++) {

$prueba = $_GET[var.$i];
}

En realidad quiero que el id de la variable cambie de acuerdo al bucle y obtener algo como esto:

$_GET[$var1]
$_GET[$var2]
$_GET[$var3]


Mi pregunta es si se le pueden asignar dinamicamente ids de variables

Gracias, de antemano.
Un saludo
  #2 (permalink)  
Antiguo 11/03/2009, 02:14
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Asignación dinámica de ids de variables

Podrias usar un array quedaria algo asi
$_GET[var][0];
$_GET[var][1];
$_GET[var][3];
  #3 (permalink)  
Antiguo 11/03/2009, 02:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Asignación dinámica de ids de variables

Creo que no he entendido bien. Pongo otro ejemplo:
for ($i = 1; $i < $veces; $i++) {
$var.$i = "prueba"
$sql="INSERT INTO tabla (denominacion) VALUES ($var.$i);";
}

se puede realizar esa asignación dinámica del id de las variables??

GRACIAS POR LA RESPUESTA TAN RÁPIDA.
SALUDOS
  #4 (permalink)  
Antiguo 11/03/2009, 02:48
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Asignación dinámica de ids de variables

Cita:
Iniciado por areiq Ver Mensaje
Creo que no he entendido bien. Pongo otro ejemplo:
for ($i = 1; $i < $veces; $i++) {
$var.$i = "prueba"
$sql="INSERT INTO tabla (denominacion) VALUES ($var.$i);";
}

se puede realizar esa asignación dinámica del id de las variables??

GRACIAS POR LA RESPUESTA TAN RÁPIDA.
SALUDOS
Podrias hacer
Código PHP:
for ($i=1;$i $veces;$i++){
$var[$i]="prueba";
$sql="INSERT INTO tabla (denominacion) VALUES ($var[$i])";

  #5 (permalink)  
Antiguo 11/03/2009, 03:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 3
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Asignación dinámica de ids de variables

Gracias, con eso he resuelto uno de mis problemas pero sigo teniendo otro, este es el código que tengo ya con las modificaciones:

for ($i = 1; $i <= $puesto; $i++) {

$v_denominacion[$i]="denominacionPuesto".$i;
$puesto = $_GET[$v_denominacion[$i]];
$sql="INSERT INTO empresas.puestos_epes_accexp (denominacion) VALUES ('".$puesto."');";
mysql_query($sql,$link) or die ("fallo en la insercion");

}

sigue sin meterme en la bd los valores que tienen las variables $denominacionPuesto1, $denominacionPuesto2, denominacionPuesto3....

Solo me introduce en la bbdd el valor de la primera variable ($denominacionPuesto1). Por alguna razon el $puesto = $_GET[$v_denominacion[$i]]; es como si parara el bucle y no siguiera hacia adelante.

:S

Última edición por areiq; 11/03/2009 a las 03:18 Razón: modificacion
  #6 (permalink)  
Antiguo 11/03/2009, 03:23
Avatar de yeudiel  
Fecha de Ingreso: abril-2008
Ubicación: Ciudad de México
Mensajes: 78
Antigüedad: 16 años
Puntos: 1
Respuesta: Asignación dinámica de ids de variables

$_GET lo que hacees recoger valores enviados desdse un form o desde soquets, a menos q no sea asi, no lo uses.
en $puesto debes poner una cantidad fuera del bucle de preferencia, por ejemplo si tienes 50 puestos debe de quedar asi, $puesto=50;
si lo obtienes de una base de datos podria quedar asi $puesto=mysql_num_rows($result);

for ($i = 1; $i <= $puesto; $i++) {

$v_denominacion[$i]="denominacionPuesto".$i;
$puesto =$v_denominacion[$i];
$sql="INSERT INTO empresas.puestos_epes_accexp (denominacion) VALUES ('".$puesto."')";
mysql_query($sql,$link) or die ("fallo en la insercion");

}

Ademas que no entiendo tu codigo, podrias postear la tabla y te puedo ayudar mas
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 05:50.