Ayuda con Arrays PHP, Formularios y MySQL

Iniciado por oscarj24, 22 Octubre 2009, 03:45 AM

0 Miembros y 1 Visitante están viendo este tema.

oscarj24

Hola a todos  ;D,
espero me puedan ayudar ya que llevo varias horas intentando esto y no soy muy bueno que se diga...


Mi problema es que estaba creando una encuesta (como la de la imagen). En la cual existen preguntas donde solo se debe marcar 1 alternativa (Para eso utilice Radio Buttons) y 2 preguntas donde se pueden marcar 1 o mas alternativas (Para eso utilice Checkbox).



Luego, estos datos se almacenaran en una base de datos llamada "encuesta" en la tabla "encuestados_musica" la cual tiene esta estructura:



Para realizar el almacenamiento de datos, cree un archivo llamado "registro_datos.php" pero el explorador me dice que hay un error en la programación (Error 500) y no logro corregir cual es.



- Segun mi criterio, el error puede estar en que en el archivo "registro_datos.php" se ejecutan 3 consultas a la base de datos y deberia ser tan solo 1. Sin embargo, dudo que esto se pueda realizar ya que estoy usando un "foreach" para la pregunta 6 y 7 que son de respuesta multiple

- Lo que quisiera saber es como juntar las 3 consultas en 1 o que alguien me diga cual es el error en mi codigo.


A continuacion, el codigo php de "registro_datos.php" ...

Código (php) [Seleccionar]
<?php
/*Conexion a la Base de Datos*/
$link mysql_connect('SERVIDOR_BD''USER_BD''PASSWORD_BD');
mysql_select_db('NOMBRE_BD'$link);

/*Nombre del encuestado*/
$nombre=$_POST['nombre'];

/*Pregunta 1*/ $edad=$_POST['edad'];

/*Pregunta 2*/ $sexo=$_POST['sexo'];

/*Pregunta 3*/ $genero_preferencia=$_POST['genero_preferencia'];

/*Pregunta 4*/ $reproductor=$_POST['reproductor'];

/*Pregunta 5*/ $horas_musica=$_POST['horas_musica'];
  
/*Pregunta 6*/ $emisoras = empty($_POST['emisoras']) ? $_POST['emisoras'] : array();
foreach( $emisoras as $emisora ){
    
                    $pregunta6 "INSERT INTO encuestados_musica SET emisora = '".intval($emisoras)."', .... ";
    }

/*Pregunta 7*/  $tipos_programas = empty($_POST['tipos_programas']) ? $_POST['tipos_programas'] : array();
    foreach( $tipos_programas as $tipo_programa ){
    
                    $pregunta7 "INSERT INTO encuestados_musica SET tipo_programa = '".intval($tipos_programas)."', .... ";
    }
  
/*Pregunta 8*/ $genero_nunca=$_POST['genero_nunca'];

/*Pregunta 9*/ $musica_estudio=$_POST['musica_estudio'];

/*Pregunta 10*/ $preferenciadia_programa=$_POST['preferenciadia_programa'];

/* Ejecutar consulta para las preguntas 1, 2, 3, 4, 5, 8, 9 y 10 */
mysql_query"INSERT INTO encuestados_musica (Nombre,Edad,Sexo,Preferencia,Reproductor,HorasDiarias,Disgusta,MusicaEstudio,PreferenciaDia_Programa) VALUES ('$nombre','$edad','$sexo','$genero_preferencia','$reproductor','$horas_musica','$genero_nunca','$musica_estudio','$preferenciadia_programa')",$link);
/*Cerrar la conexion a la base de datos*/
mysql_close($link);

echo <<<MENSAJE
<html>
<head>
<META http-equiv="refresh" content="3; url=WEB_DE_REDIRECCION">
<title>Almacenamiento de Datos | Respuestas Almacenadas en BD ::.</title>
</head>
<body link="#000000" vlink="#000000" alink="#000000">
<div align="center">
<table border="1" bordercolorlight="#000000" bordercolordark="#000000" width="302" style="border-collapse: collapse">
<tr>
<td background="images/cell_back.jpg" align="left">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">:. RESPUESTAS 
ALMACENADAS .:</font></b></td>
</tr>
<tr>
<td background="images/cell2_back.jpg">
<p align="center"><b><font face="Verdana" size="1">
<br>
Datos almacenados correctamente en BD.</font></b><font face="Verdana" size="1"><br>
<br>
</font>
<img border="0" src="images/envio.jpg" width="127" height="89"></p>
<p align="center"><i><font face="Verdana" size="1">' Serás 
redireccionado en 3 segundos.'</font></i><br>
</td>
</tr>
<tr>
<td background="images/cell_back.jpg">
<p align="left">
<b><font face="Verdana" size="1" color="#FFFFFF">&nbsp;</font></b></td>
</tr>
</table>
</div>
</body>
</html>
MENSAJE;
?>


Gracias y espero su ayuda ! ::)

дٳŦ٭

Pueden ser muchas cosas, revisa el error_log y observa las últimas lineas.

Saludos


Con sangre andaluza :)