15/12/2004, 14:41
|
| | Fecha de Ingreso: julio-2003 Ubicación: España
Mensajes: 723
Antigüedad: 21 años, 5 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 |