Foros del Web » Programando para Internet » PHP »

Recoger variables dinamicas.

Estas en el tema de Recoger variables dinamicas. en el foro de PHP en Foros del Web. Buen dia. les cuento que estoy tratando de recibir en una pg unas variables que genero dinamicamente en otra y no he podido. El problema ...
  #1 (permalink)  
Antiguo 17/07/2009, 07:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 14 años, 11 meses
Puntos: 1
Pregunta Recoger variables dinamicas.

Buen dia.

les cuento que estoy tratando de recibir en una pg unas variables que genero dinamicamente en otra y no he podido.
El problema es que no se cuantas van ha llegar. He generado un contador en la pagina donde las genero y es algo como esto:

while ($prof=mysql_fetch_array($sqlprofes))
{
$i=$i+1;
printf("<tr>
<td > <input type='hidden' name='txtid$i' value='%s'><input type='text' size='60' readonly name='txtprofe$i' id='txtprofe$i' value='%s %s %s %s'></td>
<td><select name='selecnota$i' id='selecnota$i' >
<option selected value='Seleccione una Nota'>Seleccione una Nota</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
<option value='9'>9</option>
<option value='10'>10</option>
</select></td>
</tr>"
,$prof['idprofesor'],$prof['primer_nombre'],$prof['segundo_nombre'],$prof['primer_apellido'],$prof['segundo_apellido']);
}
---------------------------------------------------------------------------------------------------

Las variables, en este caso almacenadas en un text y un select quedan asi text1=xx&select1=xx y asi sucesivamente, estas incrementan el numero en su nombre con el ciclo, el problema es al recibirlas en la otra pagina, no he podido.
El codigo de la otra pg es este:

$idjornada=$_GET['txtjornada'];
$idgrado=$_GET['txtgrado'];
$nprofe=$_GET['txtnprofesores'];

for($i=1;$i<=$nprofe;$i++)
{
$txtid=$_REQUEST['txtid$i'];
$selecnota=$_REQUEST['selecnota$i'];

}

print("$idjornada
$idgrado
$nprofe
id:$txtid
nota:$selecnota
");


$nprofe en el ciclo es la variable que envio para controlarlo y hacer el ciclo igual veces que la cantidad de profes que hay.

Les agradeceria me ayudaran con esto. si no me entendieron o si necesitan el codigo completo nada mas avisenme y tratare de mejorar mi explicacion.

Gracias de antemano.
  #2 (permalink)  
Antiguo 17/07/2009, 07:13
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Recoger variables dinamicas.

Te resultará más práctico usar un array de elementos, usando un mismo name, por ejemplo:
Código html:
Ver original
  1. <input type="hidden" name="txtid[]" value="valor" />
  2. <!-- ... -->
  3. <input type="hidden" name="txtid[]" value="valor" />
  4. <!-- ... -->
  5. <input type="hidden" name="txtid[]" value="valor" />
  6. <!-- ... -->
  7. <input type="hidden" name="txtid[]" value="valor" />
  8. <!-- ... -->
Y al momento de recibir los datos lo recorres con un foreach:
Código php:
Ver original
  1. foreach ($_GET['txtid'] as $value) {
  2.     /* Procesar $value */
  3. }
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 17/07/2009, 07:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Recoger variables dinamicas.

si en el name utilizas: name="variable[]" en vez de name="variable1", variable2...variablen, php te las devolverá en un array:

Código PHP:
$varibles$_POST['variable'];

foreach(
$variables as $v){
...


  #4 (permalink)  
Antiguo 17/07/2009, 07:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 177
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Recoger variables dinamicas.

Hey maicolalvarez, muchas gracias, hize una prueba y veo que funciona.
Voy a tratar de acondicionar mi pagina y si tengo algun problema volvere a preguntar.
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 16:00.