Mostrar el cliente que más GB tiene

Jejej te dige que volveria :P
Bueno si consigo que me entiendas creo, que esta duda es bastante más fácil.
Mira tengo la tabla donde una columna muestra el distribuidor y el resto de columnas son los meses.
¿Hago una consulta y me muestra en cada mes lo GB que tiene cada distribuidor ok?
Pues ahora quiero hacer que al final del todo haya una fila debajo de cada mes que me muestre el cliente con más GB.
|distributor | Enero | Febrero | Marzo | Abril |......| Diciembre |
------------------------------------------------------------------------------
| pepe        | 10GB  |  0 GB      |  0GB   | 15GB|.........................
------------------------------------------------------------------------------
|maria         | 5GB |  10GB      |1GB     |  1GB|............................
------------------------------------------------------------------------------
|Total          |pepe|  maria      | maria  | pepe|.......................
Espero que así te quede un poco más claro :P
Respuesta
1
Deberás hacer uso de variables dentro del bucle de muestra de resultados de la siguiente forma. Asigna el valor en Gb a una variable, por ejemplo:
$maximo = $_Consulta("GB");
$usuario = $_Consulta("nombreproveedor");
En la siguiente vuelta del bucle comparalo, y si es mayor, actualiza el valor máximo y nombre.
Cuando acabe el bucle, simplementemuestra por pantalla el valos $usuario y ya lo tienes!.
Saludos
Tu presupuesto Web gratis, instantáneo y sin compromiso. Conócenos
Es que no se como hacer la comparación y decir si es mayor que me lo actualize :S
Mira tengo hasta aquí:
$sql=("SELECT contracted_space/1073741824, client_name, d.id_distributor, c.id_distributor, distributor_name FROM `client`c, `distributor`d WHERE d.id_distributor = c.id_distributor ORDER BY contracted_space DESC LIMIT 1");
    $result_sql= mysql_query($sql) or die (mysql_error());
    while($fila= mysql_fetch_row($result_sql)){
          for($i=1;$i<=12;$i++) {
                if($i<10) $mes="0".$i;
                else $mes = $i;
                $desde = $_POST['year']."-".$mes."-01";
                $hasta = $_POST['year']."-".$mes."-31";
         La consulta y luego un for para que los nombre me los vaya almacenando en cada mes, me imagino que solo me falta lo que tu me has dicho, ¿comparar y actualizar no?
A ver si me puedes echar una mano, que estoy muy verde y me cuesta entender las cosas, si no es mucha molestia con un ejemplo me quedaría más claro.
Un saludo
Aquí tienes una forma de hacerlo aun más fácil!
http://www.forosdelweb.com/f18/detectar-variable-mayor-valor-181219/
Esa forma ya la vi.. pero no puedo hacerlo de esa manera porque mis valores no los doy yo.
Mis valores stan guardados en la BD, por lo tanto hay algunos valores que todavía pueden cambiar. Si alguien modifica la cantidad de GB ya no me serviría la cantidad que antes tenia puesta.
No se si me entiendes.
Yo según tu indicación anterior hice esto:
$sql=("SELECT contracted_space/1073741824, client_name, d.id_distributor, c.id_distributor, distributor_name FROM `client`c, `distributor`d WHERE d.id_distributor = c.id_distributor ORDER BY contracted_space DESC LIMIT 1");
    $result_sql= mysql_query($sql) or die (mysql_error());
    while($fila= mysql_fetch_row($result_sql)){      
          $max=$fila[0];
          $usuario=$fila[1];
          echo "
<td colspan=1>";
        if($fila[0] > $max){
          echo $fila[0];
        }else{
          echo $max;    
         }    
     }
Pero no me da el resultado que yo quiero. A ver si le puedes echar un vistazo y decirme que esta mal.
El código sería este:
$max=0;
    while($fila= mysql_fetch_row($result_sql)){      
         if($fila[0] > $max){          
          $max = $fila[0];
          $usuario=$fila[1];
}
}
//Sacas el valor del máximo numero de GB      
          echo $max;    
Y lo mismo para el usuario, asignando el valor $usuario
El bucle lo hace y me da un resultado.. lo malo es que en cada mes me muestra la misma cantidad. En el caso del primer mes no se si es casualidad o que el resultado esta bien, pero a partir de febrero me muestra el mismo resultado y no es el que tendría que salir.
Me imagino que eso es poniendo una condición el en wHERE, pero no se como la tengo que poner.
Tienes que hacer ese bucle para cada mes, para que pueda distinguir los resultados!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas