Foros del Web » Programando para Internet » PHP »

Pasar Variable De Un Array Por Post

Estas en el tema de Pasar Variable De Un Array Por Post en el foro de PHP en Foros del Web. Hola a todos: Tengo un array de una consulta a una BBDD dentro de un formulario: Código PHP: $s = "select * from encuestas where identificador=" . $_GET [ "id" ...
  #1 (permalink)  
Antiguo 14/02/2008, 11:15
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 17 años
Puntos: 6
Pasar Variable De Un Array Por Post

Hola a todos:

Tengo un array de una consulta a una BBDD dentro de un formulario:

Código PHP:
$s="select * from encuestas where identificador=".$_GET["id"]." order by pregunta";
              
$q=mysql_query($s);
              while(
$preg=mysql_fetch_array($q))
              { 
de ahi saco las id que tienen el identificador mediante
Código PHP:
<?=$preg["id"];?>
Ahora viene mi duda: para pasar esta variable del array mediante el formulario como hago?

Código PHP:
$s="select * from encuestas where identificador=".$_GET["id"];
              
$q=mysql_query($s);
              while(
$preg=mysql_fetch_array($q))
              {
if (
$_POST["VARIABLE"]==1) { ...
elseif (
$_POST["VARIABLE"]==2) { ...
elseif (
$_POST["VARIABLE"]==3) { ... 
  #2 (permalink)  
Antiguo 14/02/2008, 11:20
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
Re: Pasar Variable De Un Array Por Post

perdon, q pregunte pero no esta muy claro lo q queres hacer
vos queres pasar el contenido del array $preg a travez de un formulario a otra pagina????
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 14/02/2008, 11:25
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 17 años
Puntos: 6
Re: Pasar Variable De Un Array Por Post

Lo primero gracias por tu respuesta:

La consulta a la base de datos me extrae 5 resultados, que son las 5 preguntas de la encuesta:

id = 66, 67, 68, 73 y 74, que las saco mediante
Código PHP:
<?=$preg["id"];?>
a estas "id" les asigno un value mediante botones de radio, dependiendo de la opcion que elija el usuario.

Ahora quiero pasar $preg["id"] mediante post, para que según tengan value 1,2,3 o 4, añada el voto a la base de datos.

No se si me explico bien...

Gracias!
  #4 (permalink)  
Antiguo 14/02/2008, 11:29
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
Re: Pasar Variable De Un Array Por Post

bueon lo q tenes q hacer enteonces es mostrarlo dentro de un formulario
<form method="post" action="guardarencuesta.php">
¿pregunta?
respeutsas
<input type="hidden" name="id" value="<?=$preg['id']?>" />
<input type="radio" name="respueta" value="1" />
<input type="radio" name="respueta" value="2" />
<input type="radio" name="respueta" value="3" />
<input type="radio" name="respueta" value="4" />
<input type="radio" name="respueta" value="5" />
<input type="submit" />
</form>


guardas el id en el formulario de forma oculta, luego te llegan a guardarencuesta.php (o a donde quieras) un array $_POST['id'] y $_POST['respuesta']

espero te sirva
__________________
Degiovanni Emilio
developtus.com
  #5 (permalink)  
Antiguo 14/02/2008, 11:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Pasar Variable De Un Array Por Post

Usa un campo hidden:
Código PHP:
<input type="hidden" name="pregId" value="<?php echo $preg['id']; ?>" />
Saludos.
  #6 (permalink)  
Antiguo 14/02/2008, 11:36
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 17 años
Puntos: 6
Re: Pasar Variable De Un Array Por Post

Algo así había intentado pero el problema es que tengo que pasar en el mismo formulario las id 66,67,68,73,74

Código PHP:
<? for($i=1;$i<=$preg["nopciones"];$i++)
{
?>
<tr>
<td><input type="radio" value="<?=$i?>" name="<?=$preg["id"];?>">
<font face="Verdana" size="1"><?=$preg["tr".$i];?></font></td>
</tr>
<?
Como podría pasar las diferentes id? dandole name
Código PHP:
id<?=$i?>
me serviría?
  #7 (permalink)  
Antiguo 14/02/2008, 11:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Pasar Variable De Un Array Por Post

De hecho seria mejor que lo pusieras así:
Código PHP:
<input type="radio" value="<?php echo $preg['id']; ?>" name="preguntas[]">
En PHP tendrás disponible un arreglo en la variable $_POST['preguntas'], asi si quieres saber el ID de la primera usas: $_POST['preguntas'][0];

Saludos.
  #8 (permalink)  
Antiguo 14/02/2008, 11:48
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 17 años
Puntos: 6
Re: Pasar Variable De Un Array Por Post

El codigo HTML resultante que me busco es:

Código HTML:
 <tr>
                                  <td><b class="tit_noticias01">4. ¿Considera necesario la posiblidad de poder restringir el acceso a determinadas páginas?</b></td>
                                </tr>
                                                            
                                <tr>
                                  <td><input type="radio" value="1" name="73">
                                  <input type="hidden" name="id" value="73">

                                  
                                      <font face="Verdana" size="1">Si</font></td>
                                </tr>
                                                             
                                <tr>
                                  <td><input type="radio" value="2" name="73">
                                  <input type="hidden" name="id" value="73">
                                  
                                      <font face="Verdana" size="1">No</font></td>
                                </tr> 
Asi con cada pregunta, pero claro, el problema es al procesar name, que es <?=$preg['id']?>, que aunque lo haga hidden, tengo que pasar tantos id como numero de preguntas de la encuesta...

Gracias!
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 12:53.