Foros del Web » Programando para Internet » PHP »

como codificar una encuesta en php que guarde en sql

Estas en el tema de como codificar una encuesta en php que guarde en sql en el foro de PHP en Foros del Web. soy nueva con php... y tengo un problema, debo hacer que mi planilla guarde los datos en una base de datos y calcule el puntaje ...
  #1 (permalink)  
Antiguo 05/01/2012, 16:15
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
como codificar una encuesta en php que guarde en sql

soy nueva con php... y tengo un problema, debo hacer que mi planilla guarde los datos en una base de datos y calcule el puntaje obtenida en la misma. pero no logro hacerlo.. el codigo es el siguiente:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>evaluacion del coordinador</title>
<style type="text/css">
<!--
body {
background-image: url();
background-repeat: no-repeat;
background-color: #CCCCCC;
}
body,td,th {
font-size: 16px;
color: #0000FF;
}
.Estilo2 {color: #000000}
.Estilo3 {font-weight: bold; font-size: 18px;}
.Estilo7 {color: #000000; font-size: 18px; }
.Estilo10 {color: #000000; font-size: 24; }
.Estilo11 {font-size: 24}
.Estilo13 {color: #0000FF; font-size: 16px; }
.Estilo15 {font-weight: bold; font-size: 18px; color: #0000FF; }
.Estilo16 {color: #FFFFFF; }
.Estilo17 {color: #FFFF00}
-->
</style></head>

<body>
<table width="1122" align="center" bordercolor="#EBE9ED">
<tr>
<td colspan="2"><h3 align="center" class="Estilo13">prueba </h3>
</td>
</tr>
<tr>
<td height="30" colspan="2"><div align="center" class="Estilo2">
<h1><span class="Estilo15">EVALUACION ADMINISTRATIVA DEL DOCENTE POR EL CORDINADOR DE CARRERA </span></h1>
</div></td>
</tr>
<tr>
<td width="620" bgcolor="#666666">
<form action=="coneccion.php" method="post" name="evaluacion_del_coordinador" id="evaluacion_del_coordinador" >
<label><span class ="Estilo5"><br />
<span class="Estilo2">
PROFESOR: </span>
<input type="text" name="name"size="50" maxlength="50" />
<span class="Estilo2">C.I: </span>
<input type="text" name="ced"size="15" maxlength="15" /><br />
</form> <span class="Estilo2"></span></td>
<td width="490" bgcolor="#666666"><span class="Estilo2">
<label><br />
CURSO(S) que atiende:
<input type="text" name="cur"size="40" maxlength="50" />
<br />
</label>
</span></td>
</tr>
<tr>
<td bgcolor="#666666"><span class="Estilo2">
<label>COORDINADOR DE CARRERA:
<input type="text" name="coor"size="50" maxlength="50" /><br />
</label>
</span></td>
<td bgcolor="#666666"><label>
<div align="center"><span class="Estilo2">ASIGNATURA (S): </span>
<input type="text" name="asig"size="40" maxlength="50" />
<br />
<span class="Estilo2">

FECHA:
<input type="text" name="fec"size="20" maxlength="20" />
</span></div>
</label></td>
</tr>
<tr>
<td colspan="2"><p><span class="Estilo2"></span></p>
<h1 align="center" class="Estilo3">ASPECTOS A EVALUAR </h1></td>
</tr>
<tr>
<td bgcolor="#999999"><p><span class="Estilo2"><span class="Estilo7"> 1.Asistio a sus actividades academicas (clase_ evaluacion)</span></span></p> </td>
<td bgcolor="#999999"><select name="select">
<option>selecione una alternativa</option>
<option>siempre</option>
<option>casi siempre</option>
<option>algunas veses</option>
<option>pocas vese</option>
<option>nunca</option>
</select></td>
</tr>
<tr>
<td bgcolor="#999999"><p><span class="Estilo2"><span class="Estilo7">2.Asisti&ograve; a sus reuniones convocadas por la instituci&ograve;n </span></span></p> </td>
<td bgcolor="#999999"><select name="select2">
<option>selecione una alternativa</option>
<option>siempre</option>
<option>casi siempre</option>
<option>algunas veses</option>
<option>pocas vese</option>
<option>nunca</option>
</select></td>
</tr>
<tr>
<td bgcolor="#999999"><p class="Estilo10"><span class="Estilo7">3.Cumpli&ograve; puntualmente con la hora de entrada a clase</span></p> </td>
<td bgcolor="#999999"><span class="Estilo10">
<select name="select3">
<option>selecione una alternativa</option>
<option>siempre</option>
<option>nunca</option>
</select>
</span></td>
</tr>
<tr>
<td height="47" bgcolor="#999999"><p class="Estilo11"><span class="Estilo2"><span class="Estilo7">4.Cumpli&ograve; puntualmente con la hora a la que fue convocado a las reuniones por la institucion</span></span></p> </td>
<td height="47" bgcolor="#999999"><span class="Estilo11"><span class="Estilo10">
<select name="select4">
<option>selecione una alternativa</option>
<option>siempre</option>
<option>nunca</option>
</select>
</span></span></td>
</tr>
<tr>
<td height="45" bgcolor="#999999"><p class="Estilo11"><span class="Estilo2"><span class="Estilo7">5.Entrego la planificacion y/o cronograma del semestre, asicomo el plan de evaluacion la segunda semana despues de comensar el semestre</span></span></p> </td>
<td height="45" bgcolor="#999999"><span class="Estilo11">
<select name="select5">
<option>selecione una alternativa</option>
<option>siempre</option>
<option>nunca</option>
</select>
</span></td>
</tr>
<tr>

<td colspan="2">
<div align="center">
<input type="submit" name="Submit" value="Enviar" />
</div>
</form> </td>
</tr>
<tr>
<td colspan="2" bgcolor="#333333"><div align="center">
<h2 class="Estilo17"><span class="Estilo2">*Se le agradese llenar todas las casillas* <span><img src="imagenes/dancegirl2.gif" width="36" height="34" /></h2>
</div></td>
</tr>
</table>
<map name="Map" id="Map"><area shape="poly" coords="141,72" href="#" /></map></body>
</body>
</html>

.....................................
ahora como puedo hacer q esto funcione pues tengo otra pagina para la coneccio pero solo de los primeros datos, por q no tengo ni idea de como codificar las preguntas y no encuentro nigun tipo de manual q me explique..

<?php

$name = $_POST['name'];
$ced = $_POST['ced'];
$cur = $_POST['cur'];
$coor = $_POST['coor'];
$asig = $_POST['asig'];

//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root',"")or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('prueba1')or die ('Error al seleccionar la Base de Datos: '.mysql_error());
function formConeccion(){

$query= 'INSERT INTO coord (profesor, cedula, cursos, coor_carrera, asignatura, fecha)
values (\''.$name.'\',\''.$ced.'\',\''.$cur.'\',\''.$coor .'\',\''.$asig.'\',\''.date("Y-m-d").'\')';

mysql_query($query) or die(mysql_error());

}
?>

AYUDENME POR FA!!!!!!
  #2 (permalink)  
Antiguo 05/01/2012, 17:08
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: como codificar una encuesta en php que guarde en sql

Dices mucho y a la vez no dices nada, porque no puedes? marca error?, los guarda de forma erronea? sin saber cual es el problema es difícil ayudarte
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 05/01/2012, 20:38
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como codificar una encuesta en php que guarde en sql

el problema es el siguiente, tengo mi diseño de pagina donde estan diferentes campos de registro con nombre , curso ,etc... y ademas una serie de preguntas con opciones de siempre, casi siempre,algunas veses y nunca, cada una de estas opciones tiene un puntaje 4, 3,2 y 1, ahora como debo codificar y como debo hacer mi base de datos para que cada vez que haguien llene el formulario pueda visualizar el puntaje y ademas esta quede guardado en una base de datos..
  #4 (permalink)  
Antiguo 05/01/2012, 22:50
 
Fecha de Ingreso: abril-2008
Mensajes: 223
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: como codificar una encuesta en php que guarde en sql

En el archivo php ya estas guardando los datos en la entidad "coord" en los campos "profesor", "cedula", "cursos", etc, etc. Esta es la linea que guarda:

$query= 'INSERT INTO coord (profesor, cedula, cursos, coor_carrera, asignatura, fecha) values (\''.$name.'\',\''.$ced.'\',\''.$cur.'\',\''.$coor .'\',\''.$asig.'\',\''.date("Y-m-d").'\')';

Para mostrar los datos que estas guardando debes de mostrar las variables y chau. Después de la linea "mysql_query($query) or die(mysql_error());" agrégale esto:

echo 'Profesor: ',$name,'</br>';
echo 'Cedula: ',$ced,'</br>';
echo 'Cursos: ',$cur,'</br>';
echo 'Carrera: ',$coor,'</br>';
echo 'Asignatura: ',$asig,'</br>';
echo 'Fecha: ',date("Y-m-d"),'</br>';

Con esta instruccion mostras los datos que te paso por el formulario y que se guardaron en la base de datos. Para ver los datos de la base de datos tenes que hacer una consulta, porque esa instruccion muestra las variables que se borran una vez que se sale de esa pantalla........
__________________
airdrop
  #5 (permalink)  
Antiguo 06/01/2012, 00:48
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: como codificar una encuesta en php que guarde en sql

Pues a simple vista parece muy sencillo, en la tabla donde pretendes guardarlo crea un campo con un nombre por ejemplo "regularidad" y guardas el valor 4, 3, 2, 1, cuando quieras mostrar el resultado solo compara el valor del campo con el rango que tienes...

Código PHP:
Ver original
  1. $sql = "select regularidad from mitabla";
  2. $result = mysql_query($sql,$conexion) or die(mysql_error());
  3.  
  4. while($row = mysql_fetch_assoc($result)) {
  5.      switch($row['regularidad']) {
  6.           case 1:
  7.           echo 'nunca';
  8.           break;
  9.           case 2:
  10.           echo 'algunas veces';
  11.           break;
  12.           case 3:
  13.           echo 'casi siempre';
  14.           break;
  15.           case 4:
  16.           echo 'siempre';
  17.           break;
  18.      }
  19. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 06/01/2012, 20:03
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como codificar una encuesta en php que guarde en sql

Cita:
Iniciado por Nemutagk Ver Mensaje
Pues a simple vista parece muy sencillo, en la tabla donde pretendes guardarlo crea un campo con un nombre por ejemplo "regularidad" y guardas el valor 4, 3, 2, 1, cuando quieras mostrar el resultado solo compara el valor del campo con el rango que tienes...

Código PHP:
Ver original
  1. $sql = "select regularidad from mitabla";
  2. $result = mysql_query($sql,$conexion) or die(mysql_error());
  3.  
  4. while($row = mysql_fetch_assoc($result)) {
  5.      switch($row['regularidad']) {
  6.           case 1:
  7.           echo 'nunca';
  8.           break;
  9.           case 2:
  10.           echo 'algunas veces';
  11.           break;
  12.           case 3:
  13.           echo 'casi siempre';
  14.           break;
  15.           case 4:
  16.           echo 'siempre';
  17.           break;
  18.      }
  19. }
.................................................. ..............................

perfecto entiendo , pero como debo hacer la base de datos , ejemplo mi tabla la llamare nota entonces debo crear cuatro campos (nunca, algunas veses, casi siempre , siempre) asi me daria el total de puntos obtenido, pero cuando quiero saber que puntaj tiene en siertas preguntas como hago, y ante mano ful gracias de verdad me alumbraste el camino
  #7 (permalink)  
Antiguo 06/01/2012, 22:10
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: como codificar una encuesta en php que guarde en sql

No necesitas 4 campos, solo necesitas 1 campo, lo puedes llamar regularidad, y hay guardas el estado, pero te repito en 1 solo campo
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 08/01/2012, 20:28
 
Fecha de Ingreso: enero-2012
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como codificar una encuesta en php que guarde en sql

buenas noches, continuo con problemas ahora bien en la base de datos solo se guarda el id y la fecha los demas queda en blaco, ya revise el codigo y el sql y no logro conseguir la falla.
<?php
session_start();
//datos para establecer la conexion con la base de mysql.
$link = mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('prueba1')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

?>
<?php

// verificamos si se han enviado ya las variables necesarias.
function formConeccion(){
$name = $_GET["name"];
$ced = $_POST["ced"];
$cur = $_POST["cur"];
$coor = $_POST["coor"];
$asig = $_POST["asig"];
$fec = $_POST["fec"];
$regula = $_POST["regularidad"];
}
$sql = "select regularidad from coord";
$result = mysql_query($sql) or die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
switch($row['regularidad']) {
case 1:
echo 'nunca';
break;
case 2:
echo 'algunas veces';
break;
case 3:
echo 'casi siempre';
break;
case 4:
echo 'siempre';
break;
}
}
// Hay campos en blanco
if($name=NULL|$ced=NULL|$cur=NULL|$coor=NULL|$asig =NULL|$fec=NULL|$regula=NULL) {
echo "un campo está vacio.";
}else{
$sql= 'INSERT INTO coord (profesor, cedula, cursos, coor_carrera, asignatura, fecha, regularidad )values (\''.$name.'\',\''.$ced.'\',\''.$cur.'\',\''.$coor .'\',\''.$asig.'\',\''.date("Y-m-d").'\',\''.$regula.'\')';

$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";


}

?>
  #9 (permalink)  
Antiguo 08/01/2012, 20:51
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: como codificar una encuesta en php que guarde en sql

Si no muestras el código del formulario dificilmente te podemos ayudar, ahora, en el código mostrado tienes varios errores...

Código PHP:
Ver original
  1. //original como lo tienes
  2. if($name=NULL|$ced=NULL|$cur=NULL|$coor=NULL|$asig =NULL|$fec=NULL|$regula=NULL) {
  3.  
  4. //como debe de ser
  5. if($name==NULL||$ced==NULL||$cur==NULL||$coor==NULL||$asig==NULL||$fec==NULL||$regula==NULL) {

Y por lo que mas quieras, indica la conexión abierta y usa mysql_error()...
Código PHP:
Ver original
  1. mysql_query($sql,$conexion) or die(mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 08/01/2012, 21:41
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: como codificar una encuesta en php que guarde en sql

OMG hasta este momento revisando los email, me acabo de dar cuenta tu error...

Para comenzar, estas recogiendo las variables dentro de una función...

Código PHP:
Ver original
  1. function formConeccion(){
  2. $name = $_GET["name"];
  3. $ced = $_POST["ced"];
  4. $cur = $_POST["cur"];
  5. $coor = $_POST["coor"];
  6. $asig = $_POST["asig"];
  7. $fec = $_POST["fec"];
  8. $regula = $_POST["regularidad"];
  9. }

La cual al final ni si quiera llamas, ahora, aunque mandes a llamar la función la encapsulación de la función no podrás tener acceso a las variables que estas definiendo, quita el código de la definición de la función y has los cambios que anteriormente te comente

Ahora, sinceramente, te hace falta bastante, lee un buen manual/tutorial de PHP a conciencia que todavía tienes errores bastantes básicos
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: codificar, encuesta, html, mysql, sql
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 10:55.