Código PHP:
<HTML LANG="es">
<HEAD>
<TITLE>Encuesta Biblioteca</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="index.css" />
</HEAD>
<BODY>
<?PHP
// Variables de conexión
$user="biblio";
$password="";
$database="biblioteca";
$server="localhost";
//Conexión al servidor
$conexion = mysqli_connect($server,$user,$password,$database);
if (!$conexion) {
echo('No pudo conectarse al servidor<br><br>');
}
// Enviar consulta para las preguntas
$instruccion_preguntas = "SELECT * FROM preguntas ORDER BY id ASC";
$consulta_preguntas = mysqli_query ($conexion, $instruccion_preguntas)
or die ("Fallo en la consulta a tabla preguntas");
// Nº de filas de preguntas
$npreg= mysqli_num_rows($consulta_preguntas);
for($i=0;$i<$npreg;$i++){
//consulta que devuelve la media de la pregunta que corresponde
$instruccion_med = "select AVG(respuesta) from respuestas where id_Preguntas = $i";
$consulta_med = mysqli_query ($conexion,$instruccion_med)
or die ("Fallo en la consulta media");
$media[$i] = mysqli_fetch_array ($consulta_med);
//consulta que devuelve la desviacion tipica de la pregunta que corresponde
$instruccion_desv = "select STDEV(respuesta) from respuestas where id_Preguntas = $i";
$consulta_desv = mysqli_query ($conexion,$instruccion_desv)
or die ("Fallo en la consulta desviacion");
$desviacion[$i] = mysqli_fetch_array ($consulta_desv);
//consulta que devuelve el numero de respuestas de la pregunta que corresponde
$instruccion_total = "select COUNT(*) from respuestas where id_Preguntas = $i";
$consulta_total = mysqli_query ($conexion,$instruccion_total)
or die ("Fallo en la consulta total");
$total[$i] = mysqli_fetch_array ($consulta_total);
}
?>
<div id="title">
<h1><span class="Estilo1"> Informe Estudio de Satisfacción de la Biblioteca</span></h1>
</div>
<div id="formulario">
<?php
if($npreg){
print ("<TABLE>\n");
print ("<TR>\n");
print ("<TH>Pregunta</TH>\n");
print ("<TH>Media</TH>\n");
print ("<TH>Desviació Típica</TH>\n");
print ("<TH>Respuestas</TH>\n");
print ("</TR>\n");
$r=0;
while($res_preg = mysqli_fetch_array($consulta_preguntas)){
print("<TR>");
print '<TD>'. $res_preg['pregunta']. '</TD>';
print '<TD>'. $media[$r]. '</TD>';
print '<TD>'. $desviacion[$r]. '</TD>';
print '<TD>'. $total[$r]. '</TD>';
print("</TR>");
$r++;
}
echo'</table>';
}else{
print ("No hay preguntas disponibles");
}
?>
</div>
<?php
// Cerrar conexión
mysqli_close ($conexion);
?>
</BODY>
</HTML>
2.- Si comento las líneas que hacen la consulta de la desviación para ver si el resto de código funciona, me muestra por pantalla Array (por cada pregunta en la media y en el total)
muchas gracias por vuestra ayuda