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