Foros del Web » Programando para Internet » PHP »

ayuda con insertar en base de datos

Estas en el tema de ayuda con insertar en base de datos en el foro de PHP en Foros del Web. muy buenas a todos. a ver si os explico lo que tengo y lo que quiero hacer: tengo en una página un cuestionario con diferentes ...
  #1 (permalink)  
Antiguo 26/01/2007, 05:37
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
ayuda con insertar en base de datos

muy buenas a todos. a ver si os explico lo que tengo y lo que quiero hacer:

tengo en una página un cuestionario con diferentes opciones; como el cuestionario es bastante largo (en cuanto a número de preguntas) y no quiero alterar el diseño de la web, lo que he hecho es dividir las preguntas en tres bloques, de tal modo que al finalizar el primer bloque pincho en 'continuar con el cuestionario' y me voy al segundo y así sucesivamente. el tema está en insertar esos datos en la base de datos.

lo que yo hago ahora es lo siguiente: tengo una base de datos con tres tablas: cuestionario 1, cuestionario 2 y cuestionario 3, y en esas tablas tengo tres campos, que son las respuestas de cada uno de los cuestionarios.

como os digo lo que hago es hacer el primer cuestionario y el botón 'continuar con el cuestionario¡ es realmente un input submit que me guarda la información en la tabla 'cuestionario 1' . en el archivo php que me inserta los datos en esa tabla lo que digo al final es que, una vez hecha la inserción, me redirija al cuestionario 2. y así con el dos y con el tres.

lo que yo querría es hacerlo todo en un único paso y no tener que crear tres tablas diferentes para almacenar los datos.

me he explicado lo que quiero? no sé...
  #2 (permalink)  
Antiguo 26/01/2007, 06:02
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: ayuda con insertar en base de datos

Hola estibaliz! Lo que puedes hacer es guardar las respuestas en variables de session y al final del questionario utilizar esas variables para hacer un unico insert en la base de datos con las variables de session respectivas para cada campo. Sabes como se utilizan las variables de session?Un saludo y si tienes algun problema ya sabes.
  #3 (permalink)  
Antiguo 26/01/2007, 06:33
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: ayuda con insertar en base de datos

hola. gracias por responder. me puedes orientar un poquillo de como hacerlo? he estado leyendo sobre este tema en internet después de tu mensaje, pero creo que me estoy liando....
  #4 (permalink)  
Antiguo 26/01/2007, 09:13
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Re: ayuda con insertar en base de datos

Las variables de session se guardan en la memoria del servidor y 'normalmente' perduran hasta que caducan o se cierra el navegador. Lo que puedes hacer es en el primer formulario envias los datos al siguiente mediante Post o Get (te recomiendo Post) y alli las recoges y las guardas en una session por ejemplo:

(envias el dato del campo nombre al siguiente formulario)
$nombre=$_POST['nombre'];
(guardas este dato en una variable de session)
$_SESSION['nombre']=$nombre;

(Y asi con todos los datos...)

Posiblemente se puedan guardar los datos en una variable de session directamente en cada formulario sin tener que pasarlas al siguiente con post pero no estoy muy seguro.

Finalmente cuando ya tienes todas las variables que quieras guardadas haces el insert:

(Haces la conexion....y despues el insert)
$sql="insert into tabla (nombre) values "."('$_SESSION["nombre"]')";
(Y despues ejecutas la instruccion y cierras la conexion)

Recuerda que para utilizar variables de session en cada pagina que las utilizes al principio del codigo has de poner.
session_start();

Creo que esto te servirá, ahora mismo es la unica manera que se me ocurre de hacerlo. Informate en php.net de las funciones que existen en las sessiones.
Un saludo
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 19:07.