Cita:
Iniciado por Javier01 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!
Gracias por responder, no pude sacarlo con mysqli... solo lo deje asi
mysql y funciono perfecto GRACIAS MIL