Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/10/2012, 12:10
Mauk
 
Fecha de Ingreso: septiembre-2012
Ubicación: Mexico
Mensajes: 58
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Boton para guardar encuesta?

Cita:
Iniciado por memoadian Ver Mensaje
Así es lo mejor, es hacerlo por base de datos, generar tantos archivos php podria traerte incluso porblemas serios de seguridad si no sabes crearlos.

Pero lo que dije, no es que se genere una tabla, si no que tu crees una tabla encuestas, ahí puedes trabajar perfectamente.

creas la tabla encuestas ahi dentro pones los campos id, nombre de la encuesta y otros datos relevantes.

en tablas alternas creas la tabla preguntas y respuestas, con relación 1:N es decir que las preguntas solo puedan tener una encuesta, lo mismo con las respuestas, obvio deben estar asociadas al id de pregunta y ya esta.

generas la encuesta con sus preguntas y luego traes todos los datos.

para saber que contestó cada usuario lo mismo. asociar al usuario si que lo quieres, una tabla que tenga todos estos datos.

es algo complicado, pero es solo "talacha" trabajo, no es dificil analizarlo.

Asi es amigo tienes toda la razón, te agradezco de nuevo tu ayuda, ahora entiendo bien como estructurar la programacion, ahora voy a comenzar con construir la tabla por medio del ID, es decir el id de la encuesta sera el nombre para la tabla, se construira una tabla por cada encuesta, no te preocupes ya que no tendra muchas encuestas la bd, por eso lo hare asi.

Aqui la sentencia donde se creara la tabla, por medio de los datos recibidos del formulario:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     // Datos que se recibiran desde el formulario
  4.     $n_encuesta = $_POST['n_encuesta'];
  5.     $id = $_POST['id'];
  6.     $c_trabajo = $_POST['agencias'];
  7.     $t_encuesta = $_POST['contratos'];
  8.    
  9.     //Array de preguntas p[] de 5 a 10
  10.     $preguntas = $_POST['p'];
  11.    
  12.     $con = mysql_connect("localhost", "root", "");
  13.        
  14.         if (!$con)
  15.         {
  16.             die('No se pudo conectar a la BD: ' . mysql_error());
  17.         }
  18.  
  19.         $bd = mysql_select_db("encuestas", $con);
  20.            
  21.             // Creacion de la tabla
  22.             $tabla = "CREATE TABLE $id(
  23.                                     n_encuesta VARCHAR (50) DEFAULT '$n_encuesta',
  24.                                     c_trabajo VARCHAR (25) DEFAULT '$c_trabajo',
  25.                                     t_encuesta VARCHAR (25) DEFAULT '$t_encuesta',
  26.                                     preguntas VARCHAR (55))";
  27.                                    
  28.             $query = mysql_query($tabla,$con) or die ("Error:" .mysql_error());
  29.            
  30.             $pregs = "INSERT INTO $id (pregunta) VALUES ($preguntas)";
  31.            
  32.             mysql_close($con);
  33.             echo '<b>Se ha creado la nueva encuesta con exito!</b>';
  34. ?>

Como no es fijo el numero de preguntas que se pueden elegir, es decir pueden ser de 5 a 10 preguntas y por eso es:

Código PHP:
Ver original
  1. for ($i='1';$i <= $numero_preguntas; $i++)
  2.         {
  3.         echo "Preguntas: <input type='text' [B]name='p[]'[/B] size='50'>";
  4.         echo "<br>";
  5.         }

Pero al momento de insertarlas en la tabla no se como hacer para que cada una ocupe un campo,no se si me entiendas, es decir ahorita en la tabla solo creo un campo llamado pregunta.