elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  PHP arrays.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: PHP arrays.  (Leído 4,604 veces)
mgarcia.informatico

Desconectado Desconectado

Mensajes: 18


Ver Perfil
PHP arrays.
« en: 29 Enero 2015, 16:52 pm »

Estimados necesito su ayuda... necesito hacer una funcion que me imprima los meses desde una fecha seleccionada hasta la fecha actual.. es decir.. si yo selecciono una fecha 10/05/2014 .... deberia imprimir

Mayo  -  junio  - julio   -agosto- septiembre - octubre - noviembre - diciembre -    enero

No se si me explico.. bien...

Actualmente tengo esto... funciona bien pero no me sirve para que lo que quiero...

Código
  1.  
  2. $meses = Array(
  3. 1 => "enero",
  4. 2 => "febrero",
  5. 3 => "marzo",
  6. 4 => "abril",
  7. 5 => "mayo",
  8. 6=> "junio",
  9. 7 => "julio",
  10. 8 => "agosto",
  11. 9 => "septiembre",
  12. 10 => "octubre",
  13. 11 => "noviembre",
  14. 12 => "diciembre"
  15. );
  16.  
  17. function getMeses($mes) {
  18. global $meses;
  19. $str = explode("/", '10/05/2014');
  20. $mesActual = $str[1];
  21.  
  22. foreach ($meses as $key => $mes){
  23. $value = strtolower(substr($mes, 0, 3));
  24.  
  25. if($key > $mesActual){
  26. echo $value."<br>";
  27. }
  28. else if($key == $mesActual) {
  29. echo $value."<br>";
  30. }
  31. }
  32. //return $value;
  33. }
  34.  
  35. $leeMeses = getMeses($mes);
  36. echo $leeMeses;
  37.  


Mod: Temas sobre PHP al subforo de PHP. No escribir títulos en mayúsculas.


« Última modificación: 29 Enero 2015, 19:13 pm por #!drvy » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP arrays.
« Respuesta #1 en: 29 Enero 2015, 21:32 pm »

Sacas bien el mes de la fecha de la cual quieres contar, pero en ningun momento sacas la fecha actual. Encima, tu script no considera los años, por lo que solo contaria hasta diciembre y no tomaria el enero del 2015.

Una forma seria contar el total de meses desde entonces y luego empezar a imprimir el mes de ahí.


En línea

mgarcia.informatico

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: PHP arrays.
« Respuesta #2 en: 30 Enero 2015, 13:55 pm »

Hola...

Claro.. ahora.. el script esta imprimiendo desde el mes de la fecha ingresada...hasta diciembre... el cual son los meses que estan en el array...

Lo que quiero es hacer un script que imprima.. desde la fecha ingresada hasta la actual.... pero al parecer aparte de un array de meses..tambien deberia haber de años.. creo!!!!

me puedes ayudar o los que leen este tema.. ayudenme porfavor.. como hacerlo.

Saludos...le agradeceria. mucho

En línea

3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: PHP arrays.
« Respuesta #3 en: 30 Enero 2015, 14:07 pm »

Lo lamento pero no me di el tiempo de leer el código, pero en fin.

No necesitas uno de años, puesto que cuando llegues al ultimo mes solo empieza desde el inicio otra vez hasta llegar al que coincida.

por ejemplo tienes un arreglo de 3 meces:

Enero, Febrero, Marzo.... Estamos en Enero pero el programa parte desde Febrero:
[ 0 ]         [1]        [2]

Febrero - Marzo - Enero: 1 - 2 - 0

No se si se me entiende, si quieres te agrego código
En línea

mgarcia.informatico

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: PHP arrays.
« Respuesta #4 en: 30 Enero 2015, 14:26 pm »

Hola.. Estimado gracias por responder.

Claro la idea de este script es lo que indicas tu....

Es decir.. si la fecha actual es 30/01/2015..... pero yo ingreso una fecha de 10/08/2014... quiero generar un script que imprima.. los meses desde la fecha que ingreso hasta la fecha actual...
es decir... la salida seria....

Agosto  -  septiembre - octubre - noviembre - dicembre - Enero

Por fa me puedes ayudar con codigo...
Saludos Cordiales
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: PHP arrays.
« Respuesta #5 en: 30 Enero 2015, 15:29 pm »

Hola, te paso algunos tips:

1)Debes verificar que la fecha seleccionada sea inferior a la actual.
2)Debes averiguar la cantidad de meses que han pasado.

Y en el codigo, seria algo como:
Código
  1. $cantidad_meses   = obtenerCantidadMeses($fecha_inicial, $fecha_final);
  2. $contador = obtenerMesInicial($fecha_inicial);
  3. for($i = 0; i$ <= $cantidad_meses; $i++){
  4.     salida(vector_meses[$contador]);
  5.     $contador++;
  6.     if($contador >=  12)
  7.         $contador = 1;
  8. }  
  9.  

Basicamente utilizas  un contador para la cantidad de meses que necesitas imprimir, y otro internamente para el mes que se esta imprimiendo. Si es igual a 12, entonces lo reseteas a 1.

si la fecha inicial es 1/1/2012 y la actual 1/1/2014, vas a necesitar imprimir 24 meses, empezando con el mes 1. Total, en el ejercicio no te piden que digas el año al que corresponde el mes.

Saludos.
« Última modificación: 30 Enero 2015, 15:32 pm por _Enko » En línea

mgarcia.informatico

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: PHP arrays.
« Respuesta #6 en: 30 Enero 2015, 15:40 pm »

Seria... ideal saber que meses corresponde a tal año... pero en fin no debe ser tan complejo asociarlo...

lo que me gustari que me explicaras por favor es de donde saldria estos datos y como se haria en codigo.

obtenerCantidadMeses($fecha_inicial, $fecha_final);

obtenerMesInicial($fecha_inicial);

Te lo agradeceria..
Saludos
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: PHP arrays.
« Respuesta #7 en: 30 Enero 2015, 16:09 pm »

Código
  1. //Cantidad Meses:
  2. $now = DateTime();
  3. //Fecha debe ser un formato valido
  4. //http://php.net/manual/es/datetime.formats.date.php
  5. $then = DateTime($fecha);
  6.  
  7. $di = date_diff($now, $then);
  8. $mSinceThen = ($di->y * 12) + $di->m;
  9.  
  10. //Mes en ese entonces:
  11. $mThen = (int)($then->format('m'));
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: PHP arrays.
« Respuesta #8 en: 30 Enero 2015, 16:16 pm »

Buenos, Minus.Four ya te paso el codigo para obtener los meses.
Salida sería algun tipo de "echo".

Saludos.
En línea

mgarcia.informatico

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: PHP arrays.
« Respuesta #9 en: 30 Enero 2015, 16:18 pm »

Estimado..

Estoy casi por resolverlo..

pero estoy enredado..

El codigo anterior que me mandastes para sacar el conteo del mes ingresado hasta el actual, y luego imprimir... como se hace.. este es tu codigo...

Código
  1. $cantidad_meses   = obtenerCantidadMeses($fecha_inicial, $fecha_final);
  2. $contador = obtenerMesInicial($fecha_inicial);
  3. for($i = 0; i$ <= $cantidad_meses; $i++){
  4.     salida(vector_meses[$contador]);
  5.     $contador++;
  6.     if($contador >=  12)
  7.         $contador = 1;
  8. }  
  9.  
  10.  

de donde sale esto...  obtenerCantidadMeses($fecha_inicial, $fecha_final);
y esto tambien ......    obtenerMesInicial($fecha_inicial);
y esto es correcto ....   salida(vector_meses[$contador]);

y al final como imprime.. en donde se hace el echo para imprimir... por fa ayudame.. se que estamos casi listo para resolver el problema...

Saludos Cordiales
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Lio con Arrays
Programación Visual Basic
X-TN 2 1,493 Último mensaje 28 Junio 2006, 20:03 pm
por X-TN
Arrays « 1 2 »
Programación Visual Basic
xDie 12 4,084 Último mensaje 20 Septiembre 2006, 20:05 pm
por xDie
[H] Arrays
ASM
Erik# 4 3,352 Último mensaje 9 Julio 2009, 19:13 pm
por Amerikano|Cls
Arrays en VB
Programación Visual Basic
TheGhost(Z) 6 4,721 Último mensaje 11 Noviembre 2009, 21:13 pm
por TheGhost(Z)
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 6,831 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines