Funciona bien... pero si no tengo ningun registro me arroja el siguiente error
Warning: mysql_data_seek() [function.mysql-data-seek]: Offset 0 is invalid for MySQL result index 8 (or the query data is unbuffered)
Que es aqui mysql_data_seek($totalmedios1, 0); //Reseteo el objeto para volverlo a recorrer
supongo que porque no se puede dividir entre cero, como podria evitarlo
Código PHP:
<?php
mysql_select_db($database_connection, $connection);
$query_total = "SELECT medio as NombreMedio, count(medio) as TotalMedio From mediosc GROUP BY medio ";
$totalmedios1 = mysql_query($query_total, $connection) or die(mysql_error());
$totalm=0; //declaro variable. Esta variable tendrá la suma total de todos los medios
if ($totalmedios1){ // si la consulta devolvio resultados
while ($row = mysql_fetch_assoc($totalmedios1)) {$totalm += $row["TotalMedio"];} // primero recorro y sumo todo parasaber el total de todo
mysql_data_seek($totalmedios1, 0); //Reseteo el objeto para volverlo a recorrer
while ($row = mysql_fetch_assoc($totalmedios1)) { //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 */
}
mysql_free_result($totalmedios1); //libero el objeto */
}
?>