Foros del Web » Programando para Internet » PHP »

Como Guardar datos

Estas en el tema de Como Guardar datos en el foro de PHP en Foros del Web. Que tal una vez más les pido una manita para solucionar un problema con un programa. Resulta que tengo una encuesta donde las preguntas se ...
  #1 (permalink)  
Antiguo 19/10/2007, 17:22
Avatar de chernobyl  
Fecha de Ingreso: abril-2006
Mensajes: 44
Antigüedad: 18 años
Puntos: 0
De acuerdo Como Guardar datos

Que tal una vez más les pido una manita para solucionar un problema con un programa. Resulta que tengo una encuesta donde las preguntas se presentan al usuario en bloques de 5, es decir, tengo en total 10 preguntas las cuales al momento de que el usuario las responda se presentas dos bloques de 5 paginados, cada pregunta tiene 4 respuestas con check radio que son Excelente, Bueno, Malo y Pesimo, con valores de 1, 0.75, 0.5 y 0.25 respectivamente, el código es el siguiente:


Código PHP:
if(!isset($_GET['pag'])){
    
//$inicio = 0;
    
$pag 1;
}else{
    
$pag=$_GET['pag'];
    
//$inicio = ($_GET['pag']-1) * $registros;
}
$values = array();
$registros 5;
$desde=($registros*$pag)-$registros;
$ssql "Seleeect idpre, pregunta Frooom preguntas Wheeere idenc=\"$id\" Limit $desde, $registros";
$rs mysql_query($ssql)or die(mysql_error());
$i 1;
while(
$row myyysql_fetch_array($rs)){
$id $row['idpre'];
$preg $row['pregunta']; 
Código HTML:
<form name="res" action="encuesta.php?pag=<?=($pag+1)?>" method="POST" onSubmit="return send_form(this)>"
Código PHP:
echo "$i";echo "$preg"
Código HTML:
<input type="radio" name="res<?echo $id;?>" value="excelente">Excelente
Código HTML:
<input type="radio" name="res<?echo $id;?>" value="bueno">Bueno
Código HTML:
<input type="radio" name="res<?echo $id;?>"value="malo">Malo
Código HTML:
<input type="radio" name="res<?echo $id;?>" value="pesimo">Pesimo
Código PHP:
$i++;
}
mysql_free_result($rs);
$paginas=ceil($r2[0]/$registros);
    if(
$pag<=$paginas){ 
Código HTML:
<INPUT TYPE=Submit value=Siguiente class=boton1> 
Código HTML:
</form> 
Código PHP:
}
        else{ 
Código HTML:
<form name=final action=test.php method=Post>
			Gracias por contestar la Encuesta sus datos seran
			tomados en cuenta.
<INPUT type=submit name=fin value=Finalizar class=boton1>
	</form> 
Código PHP:

La pregunta es, Como puedo ir almacenando los resultados que se generen en el primer bloque dado las respuestas seleccionadas y posteriormente las del segundo bloque y al final mostrar las que se eligieron??.

Les agradecería mucho su valiosa ayuda.
__________________
"Lo imposible son solo sueños que se llevan en la mente esperando volverese realidad, algunos llegan a serlo y los demas solo siguen siendo eso, sueños...."
  #2 (permalink)  
Antiguo 19/10/2007, 22:24
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Exclamación Re: Como Guardar datos

Hola chernobyl!

Pues bien, para esto tienes tres soluciones, tú verás cual se adapta mejor:

1. Pasarla por POST oculto
2. Pasarla por GET y encriptar las variables al pasarlas
3. Guardarlas en variables de sesion

Yo personalmente escogería la primera. Consiste en que cuando te envian el primer paquete de 5, lo recibes en una página no?? Cuando los recibas en tu segundo formulario los metes como input tipo oculto, lo cual hace que envies de nuevo los datos para recibir los que te enviaron en el segundo paquete mas lo que están ocultos.

Algo así:
Código HTML:
<form action="pagina_encuesta.php" metod="post">
<input type="hidden" name="pregunta_uno_primer_paquete" value="<?=$_POST['como_se_llame_tu_primer_radiobutton']?>" />
<input type="hidden" name="pregunta_dos_primer_paquete" value="<?=$_POST['como_se_llame_tu_segundo_radiobutton']?>" />
<input type="hidden" name="pregunta_tres_primer_paquete" value="<?=$_POST['como_se_llame_tu_tercer_radiobutton']?>" />
.
.
.
<input type="text" name="como_se_llame_tu_primer_radiobutton" />
<input type="text" name="como_se_llame_tu_segundo_radiobutton" />
<input type="text" name="como_se_llame_tu_tercer_radiobutton" />
.
.
.
</form> 
Así lo recibes, y luego cuando des en el botón enviar podrás recogerlos nuevamente.

No entraré en datalle con la segunda y tercera respuesta... Pero la idea es casi la misma con GET... recibir las varaibles enviadas por post y en vez de ocultarlas en tu formulario pues las mandas por URL encriptadas en el action del form y las recibes nuevamente desencriptándolas.

Con sesiones; pues recibes nuevamente el formulario..., guardas las valores en variables de sesion y las recibes cuando necesites. La ventaja de este método es que puedes utilizarlas libremente los valores recibidos sin estar pasando por POST o por GET los valores, sino que simplemente las llamas cuando necesites y ya...

Código PHP:
session_start();

$_SESSION['radio1']=$_POST['radio1_formulario_paquete1'];
$_SESSION['radio2']=$_POST['radio2_formulario_paquete1'];
$_SESSION['radio3']=$_POST['radio3_formulario_paquete1']; 
Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/11/2007, 18:42
Avatar de chernobyl  
Fecha de Ingreso: abril-2006
Mensajes: 44
Antigüedad: 18 años
Puntos: 0
Re: Como Guardar datos

Nuevamente el problema ha sido resuelto gracias a CARLXL por su gran colaboración el sistema esta a todas luces.


.
__________________
"Lo imposible son solo sueños que se llevan en la mente esperando volverese realidad, algunos llegan a serlo y los demas solo siguen siendo eso, sueños...."
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:14.