Calcular porcentajes en Mysql / PHP

Recurro a uds. Nuevamente, porque quiero saber como hago para calcular en mysql porcentajes.

O sea ya tengo las consultas que me cuentan el total de clases dictadas, y el total de clases no dictadas.

$sql = "SELECT * FROM clases where clasedictada='s'";
$result = mysql_query($sql);
$numero = mysql_num_rows($result);

echo 'El número de clases dictadas es: <b>'.$numero.'</b>';
echo "</br>";
$sql2 = "SELECT * FROM clases where clasedictada='n'";
$result2 = mysql_query($sql2);
$numero2 = mysql_num_rows($result2);
echo 'El número de clases no dictadas es: <b>'.$numero2.'</b></br>';

$totalclases=$numero+$numero2;
Echo "Total de clases del año: <b>".$totalclases.'</b></br>';

Ahora quisiera saber como hago para que me diga el total de clases dictadas es de 32, pero al costado en porcentajes.

O sea por ejemplo, total de clases dictadas 32 - 80%

Total de clases no dictadas 2 - 20%

Que todo sea automático a través de la bd y PHP.

Gracias a todos aquellos que me puedan ayudar desde ya.

1 respuesta

Respuesta
1

Porcentaje de clases dictadas:

$por_dict = $numero * 100 / $totalclases;

Nota: $totalclases no puede ser 0 (Cero)

Osea:

if($totalclases>0){$por_dict = $numero * 100 / $totalclases;}

---------------

Porcentaje de clases NO dictadas:

$por_no_dict = 100 - $porc_dict;

Me da el siguiente error:

Warning: Division by zero in /home/a6054050/public_html/practica/carpeta15/partediaria.php on line 36

 y en la línea 36 tengo esa consulta. Como si no me reconociera la división entre una variable.

Recién probé dividir entre 2 y anduvo, pero cuando pongo / $variable me da error.

Lo que esta sucediendo es que la variable vale CERO y en matemáticas no se puede dividir por CERO porque el resultado es INFINITO

por eso debes poner el IF

if($totalclases>0){$por_dict = $numero * 100 / $totalclases;}else {Echo "No puedo dividir porque la variable es CERO";}

Para evitar el error.

¡Gracias!  Lo que pasaba era que llamaba la variable antes de crearla, entonces eso me daba problemas.

Lo que hice fue crear todas las variables antes, y después las llamaba.

Gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas