Foros del Web » Programando para Internet » PHP »

Menores valores

Estas en el tema de Menores valores en el foro de PHP en Foros del Web. Hola, aqui tengo otra dudilla , resulta que este codigo que verán me muestra el mes que menor cantidad de servicio tuvo, hasta aqui correcto. ...
  #1 (permalink)  
Antiguo 10/03/2009, 13:23
Avatar de mahia  
Fecha de Ingreso: enero-2008
Ubicación: La Tierra
Mensajes: 69
Antigüedad: 16 años, 2 meses
Puntos: 0
Menores valores

Hola, aqui tengo otra dudilla , resulta que este codigo que verán me muestra el mes que menor cantidad de servicio tuvo, hasta aqui correcto. Pero en el caso en que tengo dos meses con iguales menores cantidades o sea que el menor mes es marzo con una cantidad de 6 y ademas tengo Julio con 6 tambien , aqui en mi codigo solo me muestra el primer mes.. por favor les agradeceria cualquier sugerencia..


if($_POST['radiobutton'] == "menor_mes")
{
$ya=mysql_query("SELECT count(`id_servicio`) AS cuenta, mes from datos where
`id_servicio`='6' GROUP BY `mes`");


$cantidadPorMes = array();
$mes = array();

$i = 0;

while($row = mysql_fetch_object($ya))
{
$cantidadPorMes[] = $row->cuenta;
$mes[] = $row->mes;
}



$valorMin = $cantidadPorMes[0];

for($i = 0; $i<count($cantidadPorMes); $i++)
{
if($cantidadPorMes[$i] < $valorMin)
{
$valorMin = $cantidadPorMes[$i];

}
}



echo"<script>alert('EL mes de menor valor es:"." ".$mes[array_search($valorMin, $cantidadPorMes )].".');</script>";
echo'<script>window.location.href="reporte3.php";</script>';
exit();


}
  #2 (permalink)  
Antiguo 10/03/2009, 13:37
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Menores valores

Y si en vez de asignarlo a una variable, ordenas los arreglos de menor a mayor?
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 10/03/2009, 14:18
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Menores valores

array_search
Valores retornados

Devuelve la clave de la aguja si se encuentra en la matriz, o FALSE de lo contrario.

Si la aguja es encontrada en el pajar más de una vez, la primera clave coincidente es devuelta. Para devolver las claves de todos los valores coincidentes, use en su lugar array_keys() con el parámetro opcional valor_busqueda .
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
  #4 (permalink)  
Antiguo 10/03/2009, 14:22
Avatar de flaconovato  
Fecha de Ingreso: noviembre-2005
Ubicación: Bogota, Colombia
Mensajes: 137
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Menores valores

Haz algo asi como esta a ver si te funciona.

Código PHP:
if($_POST['radiobutton'] == "menor_mes")
{
    
$ya=mysql_query("SELECT count(`id_servicio`) AS cuenta, mes from datos where`id_servicio`='6' GROUP BY `mes`");

    
$cantidadPorMes = array();
    
$mes = array();

    
$i 0;

    while(
$row mysql_fetch_object($ya))
    {
        
$cantidadPorMes[] = $row->cuenta;
        
$mes[] = $row->mes;
    }
    
    
$valorMin $cantidadPorMes[0];
    
    for(
$i 0$i<count($cantidadPorMes); $i++)
    {
        if(
$cantidadPorMes[$i] < $valorMin)
        {
            
$valorMin $cantidadPorMes[$i];
        }
    }
    
    
$meses array_keys($cantidadPorMes$valorMin);
    foreach (
$meses as $cadames){
        
$meses_men .= $mes[$cadames]." ";
    }
    echo
"<script>alert('EL mes de menor valor es:"." ".$meses_men.".');</script>";
    echo
'<script>window.location.href="reporte3.php";</script>';
    exit();

Saludos
__________________
El pueblo que se resigna a tecnologías pasadas, sucumbe en el campo de la ignorancia y se entierra en sus ideales.:arriba: :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:04.