Primero que nada, disculpa por el error; donde te dije que recorrieras con un for
(cosa imposible para un objeto resultante de una consulta Mysql).
Bueno este código debería hacer lo que necesitas.
Código PHP:
<?php
$connection = mysqli_connect("localhost", "root", "", "test"); //conexion de la BD
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$query_total = "SELECT medio as NombreMedio, count(medio) as TotalMedio From medios GROUP BY medio ";
$totalmedios = mysqli_query($connection, $query_total); //Guardo en el objeto $totalmedios el resultado de la consulta
$totalm=0; //declaro variable. Esta variable tendrá la suma total de todos los medios
if ($totalmedios){ // si la consulta devolvio resultados
while ($row = mysqli_fetch_assoc($totalmedios)) {$totalm += $row["TotalMedio"];} // primero recorro y sumo todo parasaber el total de todo
mysqli_data_seek($totalmedios, 0); //Reseteo el objeto para volverlo a recorrer
while ($row = mysqli_fetch_assoc($totalmedios)) { //Ahora recorro para saber uno por uno, cual es total de cada medio
$porcentaje = ($row["TotalMedio"]*100)/$totalm; //Calculo el porcentaje de cada medio
$redondeo = round($porcentaje * 100) / 100;//redondeo el numero en 2 cifras
echo 'El porcentaje de gente con '.$row["NombreMedio"].'es '.$redondeo.'%<br>'; //Muestro el promedio
}
mysqli_free_result($totalmedios); //libero el objeto
}
?>
Veras que todas las funciones para trabajar con BD que empiezan con
mysql_ las cambie por
mysqli_
Porque PHP dice que ya no es aconsejable utilizar las anteriores (al menos eso dice la ayuda de PHP)
Saludos!