Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/12/2004, 14:41
DjNelson
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Yo lo haría así:

/*Para empezar envío una sola consulta de la que extraigo todos los datos, al fin y al cabo los vamos a tener que leer todos*/

$consulta = "SELECT ipusuario,sistemaoperativo FROM estadisticas";
$id_conexion=mysql_connect($servidor,$usuario,$con t);
$tabla=mysql_select_db($bd,$id_conexion);
$resultado=mysql_query($consulta,$id_conexion);

//Calculamos el número de registros para luego poder recorrerlos con un bucle
$filas=mysql_num_rows($resultado);

//recorremos el bucle comprobando los distintos valores de sistemaoperativo que viene siendo mysql_result($resultado,$i,1)

for ($i=0;$i<$filas;$i++){

if (mysql_result($resultado,$i,1)=="Windows"){
//aqui voy contando los usuarios que tienen windows
$windows++;
}
elseif (mysql_result($resultado,$i,1)=="Mac"){
//numero de usuarios que tienen mac
$mac++;
}
elseif (mysql_result($resultado,$i,1)=="Linux"){
$linux++;
}
elseif (mysql_result($resultado,$i,1)=="Otros"){
$otros++;
}
//aquí hacemos tantas comparaciones como queramos

}//fin del bucle


//para comprobar que esta bien podemos sumar todos los sistemas operativos y tiene que dar lo mismo que $filas

$total=$windows + $linux + $mac + $otros;

if ($total==$filas) echo "Todo correcto";

//para calcular el porcentage

$porcentage_windows = (100 * $windows) / $filas;
$porcentage_linux = (100 * $llinux) / $filas;
$porcentage_mac = (100 * $mac) / $filas;
$porcentage_otros = (100 * $otros) / $filas;

//comprobamos que la información es correcta con echo sacando el porcentage con 2 decimales

echo "Usuarios que usan windows ".$windows." (".round($porcentage_windows,2).")";
echo "Usuarios que tienen linux ".$linux." (".round($porcentage_linux,2).")";
echo "Usuarios con mac ".$mac." (".round($porcentage_mac,2).")";
echo "Usuarios con otro so ".$otros." (".round($porcentage_otros,2).")";

De esta manera nos evitamos sobrecargar inútilmente a la base de datos.

Para el navegador otro tanto de lo mismo, de echo puedes hacer así:

$consulta = "SELECT ipusuario,sistemaoperativo,navegador FROM estadisticas";

y luego

for ($i=0;$i<$filas;$i++){

if (mysql_result($resultado,$i,2)=="Internet Explorer"){
//aqui voy contando los usuarios que usan Internet Explorer
$ie++;
}
...
}

Si hay algo que no se entiende aquí estaré.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)

Última edición por DjNelson; 15/12/2004 a las 14:56