Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/07/2017, 08:48
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Completar la cadena de meses

se me ocurre almacenar los meses en un array e ir comprarando si el mes devuelto esta en el array, lo mostramos si no rellenamos con cero

Código PHP:
Ver original
  1. //Array de Meses
  2. $meses = array(1=>1,2=>2,3=>3,4=>4,5=>5,6=>6,7=>7,8=>8,9=>9,10=>10,11=>11,12=>12);
  3.  
  4. $almacenados = array(5=>30, 7=>15, 10=>45);
  5.  
  6. foreach ($meses as $key => $value) {
  7.     if(array_key_exists($key, $almacenados)){
  8.         echo "<li>".($value)." = ".$almacenados[$key]."</li>";
  9.     }else{
  10.         echo "<li>".($value)." = 0</li>";
  11.     }
  12. }//

esta muestra devuelve esto:

1 = 0
2 = 0
3 = 0
4 = 0
5 = 30
6 = 0
7 = 15
8 = 0
9 = 0
10 = 45
11 = 0
12 = 0

Para crear el array con los ultimos 12 meses lo haria de esta manera:

Código PHP:
Ver original
  1. $mes = date("n");//Mes actual
  2. $meses = array();//Array de meses
  3.  
  4. $con = $mes;//Inicializo el contador
  5. for($i=1; $i<13; $i++){
  6.     array_push($meses, $con);//agrego los meses
  7.     $con = $con-1;//Resto un digito al mes para llevarlo al mes anterior
  8.     if($con==0){
  9.         $con=12;//Reinicio la cuenta a partir del mes 12 al llegar a cero
  10.     }
  11. }

crea esto:

Array ( [0] => 7 [1] => 6 [2] => 5 [3] => 4 [4] => 3 [5] => 2 [6] => 1 [7] => 12 [8] => 11 [9] => 10 [10] => 9, [11] => 8 )

el codigo competo se´ria algo así:

Código PHP:
Ver original
  1. $mes = date("n");//Mes actual
  2. $meses = array();//Array de meses
  3.  
  4. $con = $mes;//Inicializo el contador
  5. for($i=1; $i<13; $i++){
  6.     array_push($meses, $con);//agrego los meses
  7.     $con = $con-1;//Resto un digito al mes para llevarlo al mes anterior
  8.     if($con==0){
  9.         $con=12;//Reinicio la cuenta a partir del mes 12 al llegar a cero
  10.     }
  11. }
  12.  
  13.  
  14. $almacenados = array(5=>30, 7=>15, 10=>45);
  15.  
  16. foreach ($meses as $key => $value) {
  17.     if(array_key_exists($value, $almacenados)){
  18.         echo "<li>".($value)." = ".$almacenados[$value]."</li>";
  19.     }else{
  20.         echo "<li>".($value)." = 0</li>";
  21.     }
  22. }//

y nos da este resultado:

7 = 15
6 = 0
5 = 30
4 = 0
3 = 0
2 = 0
1 = 0
12 = 0
11 = 0
10 = 45
9 = 0
8 = 0
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 07/07/2017 a las 09:04