Ver Mensaje Individual
  #12 (permalink)  
Antiguo 16/07/2012, 12:45
Avatar de Briss
Briss
 
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Porcentaje de cada dato encontrado en mi tabla

Cita:
Iniciado por Javier01 Ver Mensaje
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($totalmedios0); //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