Foros del Web » Programando para Internet » PHP »

macrosustitucion en php

Estas en el tema de macrosustitucion en php en el foro de PHP en Foros del Web. Tengo un problema con unas variables que se generar en forma dinamica en una pag. Bueno la idea es que en una pagina tengo un ...
  #1 (permalink)  
Antiguo 09/03/2005, 12:58
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
macrosustitucion en php

Tengo un problema con unas variables que se generar en forma dinamica en una pag. Bueno la idea es que en una pagina tengo un formulario en donde pongo unos input type hidden que se generarn en un ciclo algo mas o menos asi
pagina del formulario
for ($z = 0; $z <= $cant; $z++) {
if ($condicion=$otracondicion)
{
echo("<input name=\"variable_$i\" type=\"hidden\" value=\"$valor\">");
//se generar tantos hidden como vueltas de el ciclo todos con nombres distintos
}
}

la pagina envia n input hdden a otra que los procesa.

pagina que recibe.
for ($z = 0; $z <= $tantos_como tenga_el_ciclo_anterior; $z++) {
$nueva_variable=$variable_$i
//solo es referencial,, me imagino que de alguna forma asi podria ser
}

__________________
Hoy dia aprendí algo nuevo.
  #2 (permalink)  
Antiguo 09/03/2005, 13:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Opcion 1: usar arrays, en el inpyt

<input name="variable[$i]">

y en tu script:
Código PHP:
$array=$_POST['variable'];
foreach(
$array as $elemento) { 
Opcion 2: De la forma que lo planteas: variable variables en http://www.php.net/manual/en/languag...s.variable.php

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 09/03/2005, 13:54
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
con array no me sirvio. ya que la variable en la url queda asi
&variable%5B1%5D=1000
quizas hize mal el input?
echo("<input name=\"variable[$i]\" type=\"hidden\" value=\"$arreglo_total_atr[$i]\">");
__________________
Hoy dia aprendí algo nuevo.
  #4 (permalink)  
Antiguo 09/03/2005, 15:31
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
trate tmb con variables variables pero no funciona,
__________________
Hoy dia aprendí algo nuevo.
  #5 (permalink)  
Antiguo 10/03/2005, 01:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Cita:
Iniciado por hardlock
trate tmb con variables variables pero no funciona,
¿Que codigo has usado? Porque con variables variables si se puede hacer y funciona.
Código PHP:
$variable_1='hola';
$var='variable_1';
echo $
$var//muestra hola 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 10/03/2005, 06:41
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
Esque el problema esta en que lo que quiero sustituir es el nombre de la variable, no el valor.

osea tengo estas variables
$var1
$var2
$var3

luego en un ciclo mostrar el valor de cada una
ciclo desde 1 a tres{
$var(y aqui vendria la sustitucio para que me muestre $var1 $var2 $var3)

}
__________________
Hoy dia aprendí algo nuevo.
  #7 (permalink)  
Antiguo 10/03/2005, 08:49
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
tambien pense pasar los datos en un vector desde una pagina a otra. el problema esta en que el envio lo hago a traves de boton submint. o sea a traves de formulario y pasan las variables via url.
Estoy super enrredado con este cuento, necesito urgente ayuda, gracias amigos
__________________
Hoy dia aprendí algo nuevo.
  #8 (permalink)  
Antiguo 10/03/2005, 08:51
 
Fecha de Ingreso: febrero-2004
Ubicación: Bogotá, Colombia
Mensajes: 191
Antigüedad: 13 años, 10 meses
Puntos: 1
No entiendo para q quiere sustituir el nombre de las variables. Pero si envia los hidden como un arreglo asi
for($i=0; $i < $condicion; $i++)
$ocultos[]=valor;

echo "<input type=\"hidden\" name=\"ocultos\" value=\"".implode(",", $ocultos)."\">";

osea, pega el vector con comas. Y en la pagina q recibe los datos despega el vector

$ocultos=explode(",", $ocultos);

y lo trabaja como un array comun y slivestre.

Si era eso lo q necesitaba?
  #9 (permalink)  
Antiguo 10/03/2005, 09:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Cita:
Iniciado por hardlock
Esque el problema esta en que lo que quiero sustituir es el nombre de la variable, no el valor.

osea tengo estas variables
$var1
$var2
$var3

luego en un ciclo mostrar el valor de cada una
ciclo desde 1 a tres{
$var(y aqui vendria la sustitucio para que me muestre $var1 $var2 $var3)

}
Pues lo que he puesto antes:
Código PHP:
for ($i=1;$i<=3;$i++) {
$nombre='var'.$i;
echo $
$nombre;

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 10/03/2005, 09:24
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
Josemi, gracias por contestarme tantas veces, de todas maneras trate asi pero no me trae valores. este es el codigo


esta es la pagina que envia
Código:
echo("<form name=form5 method=get action=graba_a_1.php target=_blank>");      
for ($i = 1; $i <= $cont_atr; $i++) {
                  echo("<input name=\"atr_rut_$i\"  type=\"hidden\"  value=\"$arreglo_rut_atr[$i]\">");
                  echo("<input name=\"atr_valot$i\"  type=\"hidden\"  value=\"$arreglo_total_atr[$i]\">");        
                  echo("<input name=\"cant_atr\"  type=\"hidden\" value=\"$cont_atr\">");                                 
               }
destacado en rojo la variable que quiero trabajar en la pagina que recive

//en la pagina que recive
Código:
 for ($z = 0; $z <= $cant_atr; $z++) { 
      $nombre='atr_valot'.$i;
      echo $$nombre;
}
__________________
Hoy dia aprendí algo nuevo.

Última edición por hardlock; 10/03/2005 a las 09:27
  #11 (permalink)  
Antiguo 10/03/2005, 12:20
 
Fecha de Ingreso: febrero-2003
Ubicación: La serena
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 0
Disculpen que sea tan recurrente en pedir una ayuidta. pero este problema me tiene de brazos crusados. Alguien que me ayude porfa
__________________
Hoy dia aprendí algo nuevo.
  #12 (permalink)  
Antiguo 11/03/2005, 01:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Vaya, ayer debi estar muy ofuscado. Se me olvido completamente que lo querias para recoger los valores de un formulario. Entonces es mas facil usar los arrays superglobales (en este caso $_GET):
Código PHP:
for ($z 1$z <= $cant_atr$z++) { 
      echo 
$_GET['atr_valot'.$z];

(z tiene que ir desde 1, igual que el for que crea los campos, y tambien tu habias puesto $i dentro del bucle, que tambien podia ser la causa del error).

Aunque quizas tambien te de problemas que tus valores no llegen bien, por esto:
Código PHP:
echo("<input name=\"atr_valot$i\"  type=\"hidden\"  value=\"$arreglo_total_atr[$i]\">"); 
Para usar un array en un echo, debes usar los {}:
Código PHP:
echo("<input name=\"atr_valot$i\"  type=\"hidden\"  value=\"{$arreglo_total_atr[$i]}\">"); 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 08:56.