Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/10/2007, 11:44
Avatar de deet
deet
 
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: ayuda en formulario php de respuestas

Código PHP:
<?php
include("config.php");

$numero_de_cuestionario=$_POST["numero_de_cuestionario"];

$query="SELECT * FROM preguntas WHERE numero_de_cuestionario='".$numero_de_cuestionario"'"
$Result=mysql_query($query) or die (mysql_error());


echo 
"",$registro['pregunta'],"";
echo 
"<br>";

echo 
"<form method='POST' action='respuesta.php'>";

echo 
"<table border=0>";

while (
$registro mysql_fetch_array($Result)) {

echo 
"<td width=30%>Pregunta:</td><td>",$registro['pregunta'],"</td><tr>";
//en la siguiente línea debes cambiar $registro['id_pregunta'] por el nombre correspondiente al id primario de la tabla preguntas para luego cargarlas en la tabla respuestas
echo "<td width=30%>Respuesta:</td><td> <input name='respuesta[" $registro['id_pregunta'] . "]' id='respuesta[" $registro['id_pregunta'] . "]' size='50'> </td><tr>"// en esa parte si me imprime por ejemplo 4 preguntas me imprime tambien 4 espacios para que se contesten, pero no se que nombre ponerle o como para que cuando se envie a respuesta.php se ponga cada respuesta en su pregunta,
}
echo 
"<td><input type='submit' value='Guardar' name='enviar'></td></table>";


mysql_close($conecta);

?>
este es el respuesta.php

Código PHP:
<?php
include("config.php");

//los valores de los inputs llegan como una matriz p.e.:
//$_POST['respuesta'] = array(12=>'', 15=>'respuesta a la pregunta id=5', ..., etc);
foreach($_POST["respuesta"] as $k => $v){
if(!empty(
$v)){
$id_pregunta $k;
$respuesta $v;
}
}

//deberías agregar en la tabla respuesta un campo id_pregunta en el cual colocas el id primario de la tabla preguntas para luego poder hacer las relaciones de pregunta->respuestas
$query="INSERT INTO respuesta (id_pregunta,respuesta) VALUES ('$id_pregunta','$respuesta')";


$Result=mysql_query($query) or die (mysql_error());
$filasafectadas=mysql_affected_rows();
if (
$filasafectadas==1){
echo 
"respuesta agregada";
}else{
echo 
"respuesta no agregada";
}

mysql_close($conecta);

?>