obtener 3 primeros lugares de un arreglo de objetos Que tal, primero les deseo felices fiestas
Ahora necesito de su ayuda por favor, llevo varios días intentando lo siguiente y ya no doy con lo que necesito,
yo obtengo un array de objetos resultado de una consulta que despues paso a json para presentarle los datos al usuario: Código PHP: $items = array();
while($row = mysql_fetch_object($rs)){
array_push($items, $row);
}
$result["rows"] = $items;
echo json_encode($result);
el json sale algo asi, obviamente con mas registros:
Código:
{
"rows": [
{
"id_puntaje": "10",
"clave_estado": "15",
"clave_municipio": "1",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "77.68",
"diciembre": null
},
{
"id_puntaje": "18",
"clave_estado": "15",
"clave_municipio": "2",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "79.42",
"diciembre": null
},
{
"id_puntaje": "26",
"clave_estado": "15",
"clave_municipio": "3",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "78.48",
"diciembre": null
},
{
"id_evaluacion": "34",
"clave_estado": "15",
"clave_municipio": "4",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "77.07",
"diciembre": null
}
]
}
bueno, por el momento solo hay datos en noviembre, pero en futuro abra en cada mes un puntaje.
Lo que necesito es que por ejemplo de los registros saber cuales son los 3 primeros lugares pero por cada mes, osea para enero, febrero etc cuales son sus 1°,2° y 3°
y lograr una salida json asi:
Código:
{
"rows": [
{
"id_puntaje": "10",
"clave_estado": "15",
"clave_municipio": "1",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "77.68 <img src='images/medalla_cobre.png />",
"diciembre": null
},
{
"id_puntaje": "18",
"clave_estado": "15",
"clave_municipio": "2",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "79.42 <img src='images/medalla_oro.png />'",
"diciembre": null
},
{
"id_puntaje": "26",
"clave_estado": "15",
"clave_municipio": "3",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "78.48 <img src='images/medalla_plata.png />",
"diciembre": null
},
{
"id_evaluacion": "34",
"clave_estado": "15",
"clave_municipio": "4",
"enero": null,
"febrero": null,
"marzo": null,
"abril": null,
"mayo": null,
"junio": null,
"julio": null,
"agosto": null,
"septiembre": null,
"octubre": null,
"noviembre": "77.07",
"diciembre": null
}
]
}
osea al array associativo ordenarlo, obtener los primeros lugares y concatenarles una etiqueta de imagen ( ojo primeros lugares de cada mes)
Ayuda por favor!!!! |