03/12/2014, 10:46
|
| | Fecha de Ingreso: diciembre-2014
Mensajes: 60
Antigüedad: 10 años Puntos: 1 | |
Foreach dentro de otro foreach, controlar la ejecucion Buen día, tengo un problema, tengo un formulario con preguntas y respuestas, que pueden varia, pueden ser 5 preguntas o pueden ser 10, igual las respuestas pueden ser 4 o pueden ser 10. en un formulario tengo esto...
<form>
<input name="preguntas[]" type="text" value="<? if($row[pregunta]!=""){ echo $row[pregunta]; }else{ echo "pregunta $j"; }?>" size="40">
<input name="respuestas[]" type="text" value="Respuesta <?=$i?>" size="25">
</form>
Este form te manda a esta funcion....
public function agregar_preguntas1($id){
global $mysqli;
foreach($_POST[preguntas] as $pregunta){
$query = "INSERT INTO preguntas SET id_cuestionario='$_REQUEST[id]',pregunta='$pregunta',rubro='$rubro'";
mysqli_query($mysqli, $query);
$result = $mysqli->query("SELECT MAX(id) as id FROM preguntas WHERE id_cuestionario='$_REQUEST[id]'");
$preg = $result->fetch_assoc();
//$preg_id[$i++]=$preg[id];
foreach($_POST[respuestas] as $value1){
$sql = "INSERT INTO respuestas SET id_pregunta='$preg[id]',id_cuestionario='$_REQUEST[id]',respuesta='$respuesta',orden='$ord'";
mysqli_query($mysqli, $sql);
}
}
header("Location: $URL/nulldata/index.php?nav=a&content=preguntas&id=$_REQUEST[id]");
}
Lo que tiene que hacer es registrar en la tabla "respuestas" esto en la base de datos...
ID | ID_PREGUNTA | ID_CUESTIONARIO | RESPUESTA
1 1 1 Respuesta 1 de pregunta 1
2 1 1 Respuesta 2 de pregunta 1
3 1 1 Respuesta 3 de pregunta 1
4 1 1 Respuesta 4 de pregunta 1
5 2 1 Respuesta 1 de pregunta 2
6 2 1 Respuesta 2 de pregunta 2
7 2 1 Respuesta 3 de pregunta 2
8 2 1 Respuesta 4 de pregunta 2
9 3 1 Respuesta 1 de pregunta 3
10 3 1 Respuesta 1 de pregunta 3
De esa manera, pero no consigo lograrlo con el codigo que muestro alla arriba, alguna idea, por su atención gracias. |