Pregunta:
¿como sacar promedio en una consulta php?
odraudex000
2014-05-20 11:08:12 UTC
$conexion = mysql_connect ("localhost","root","");
mysql_select_db("calificaciones",$conexion);

$sql = "SELECT * FROM alumno where cal='$cal' and fecha like '%$mi_combobox1%'";
$comprobar = mysql_query($sql);

echo "
";
while ($fila=mysql_fetch_assoc($comprobar))
{
echo " ";
echo "".$fila['fecha']."";
echo "".$fila['cali1']."";
echo "".$fila['cali2']."";

echo "";

}
echo " ";
?>

esta es una parte de mi codigo pero ahora lo que quiero aser es generar el promedio de cali1 y el de cali2 cada resultado me lo daria en distinta fila de la tabla
Tres respuestas:
?
2014-05-27 08:29:45 UTC
El mismo My SQL lo puedes hacer sin batallar



$sql = "SELECT Alumno,Avg(cal) CalificacionFinal FROM alumno where cal='$cal' and fecha like '%$mi_combobox1%' Group By Alumno";



Te va regresar una tabla con el nombre del alumno y su calificacion promedio del rango de fecha especificada.



Ya nomas haces un for each en php para escribir el nombre y su calificacion.
Alexis_Drummer
2014-05-20 12:38:19 UTC
La forma que indica 'tk' es la más sencilla, pero si quisieras obtener el promedio de más de dos números (la cantidad que sea), puedes crear una función, la cual realizará dicho proceso sin importar la cantidad de argumentos que le pases.



function promedio (){

     return array_sum(func_get_args()) / func_num_args();

}



echo promedio (3, 4, 5); //Imprime 4 que es el promedio de esta lista



Una explicación rápida de lo que hace cada función:



- func_get_args(): Devuelve un array con los argumentos que se pasaron a la función.

- func_num_args(): Devuelve la cantidad de argumentos que se pasaron a la función.

- array_sum(): Suma a todos los elementos de un array.



Al final, divido la suma de los números que se le pasaron a la función entre la cantidad que estos representan y devuelvo dicha respuesta.



Demo: http://ideone.com/axhDmZ



Saludos
tk
2014-05-20 11:35:51 UTC
Pues suma los valores de cali1 y cali2 y los divides entre 2.


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...