|
| #7 |
 |
jurena |
Usuario |
09 mar 08 (12:41) |
|
|
No he probado nada de lo que ahora te voy a recomendar, pero tú me dirás qué tal. Lo que hago es incluirte una línea para obtener la puntuación con una suma de los datos del array multiplicados por 2.5. Luego hago la inserción de los datos del array; guardo en memoria el dato del autoincremental id_medico para una segunda consulta en la que insertaré el total, y finalmente muestro el dato.
Pruébalo tú a ver qué tal... Seguro que hay soluciones mejores, pero es la que se me ocurre ahora. De esta manera, cargas el datos SUS desde el primer momento y lo muestras sin tener que hacer ninguna consulta.
for($i=1;$i<$MAS_UNO;$i++)
$respuesta[$i]=mysql_real_escape_string($_POST['pregunta'.$i]);
$total=2.5*(array_sum($respuesta));
mysql_query("INSERT INTO form (preg1, preg2, preg3, preg4, preg5, preg6, preg7, preg8, preg9, preg10) VALUES (". implode(",",$respuesta).")");
$ultimo=mysql_insert_id();
mysql_query("UPDATE INTO form (SUS) VALUES ($total)) WHERE id_medico = $ultimo;
mysql_close ($connection);
echo 'puntuación obtenida: '. $total.' puntos';
EDITO para decirte que si quieres ahorrarte la segunda consulta, podrías hacerlo integrando el dato de $total en el array así, tras
$total=2.5*(array_sum($respuesta));
$respuesta[]=$total;
y más tarde en el
mysql_query("INSERT INTO form (preg1, preg2, preg3, preg4, preg5, preg6, preg7, preg8, preg9, preg10, SUS) VALUES (". implode(",",$respuesta).")");
y podrías eliminar lo demás, pero no lo he probado, la verdad. Si quieres hacerlo, ya sabes...
|