Foros del Web » Programando para Internet » PHP »

Ayuda para moverme entre dias

Estas en el tema de Ayuda para moverme entre dias en el foro de PHP en Foros del Web. Amigos, quisiera saber como puedo moverme entre dias de un mes @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < a href = "#" > Dia Anterior ...
  #1 (permalink)  
Antiguo 02/12/2010, 15:10
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Pregunta Ayuda para moverme entre dias

Amigos,

quisiera saber como puedo moverme entre dias de un mes

Código HTML:
Ver original
  1. <a href="#">Dia Anterior</a> Dia Actual <a href="#">Dia Siguiente</a>

Me dijeron que podria utilizar esto:
Código PHP:
Ver original
  1. $date = date('d/m/Y',time()+(24*60*60));

Pero solo se mueve un dia antes y un dia despues :(

Alguien me ayuda a crear alguna funcion, clase o al menos una orientacion al respecto?

Mil Gracias
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #2 (permalink)  
Antiguo 02/12/2010, 17:26
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Porfa una ayudita, lo maximo que he llegado a conseguir es darle el valor en español mediante array al me; jajaja, esto es lo que tengo:
Código PHP:
Ver original
  1. $months = array("Jan"=>"Enero", "Feb"=>"Febrero", "Mar"=>"Marzo", "Apr"=>"Abril", "May"=>"Mayo", "Jun"=>"Junio", "Jul"=>"Julio", "Aug"=>"Agosto", "Sep"=>"Septiembre", "Oct"=>"Octubre", "Nov"=>"Noviembre", "Dec"=>"Diciembre");
  2. while(list($month, $value) = each($this->months)) {
  3.     if (date("M") == $month) {
  4.             echo ''.date("d").' '.$value.' '.date("Y").'';
  5.     }
  6. }
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #3 (permalink)  
Antiguo 02/12/2010, 17:53
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda para moverme entre dias

Código PHP:
Ver original
  1. echo date('d/m/Y', strtotime('yesterday')); // Ayer
  2. echo date('d/m/Y', strtotime('today')); // Hoy
  3. echo date('d/m/Y', strtotime('tomorrow')); // Mañana


http://cl.php.net/manual/es/function...time.php#97830

Edito : ¿Qué deseas? ¿Moverte entre días, o traducirlos?
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #4 (permalink)  
Antiguo 03/12/2010, 06:46
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Me gustó esta forma, sabia que exisitía esta funcion, pero no se me ocurrió utilizarla, me ayudas a implementarla para ir recorrendo dias, hice esto para ver y no funciono
Código PHP:
Ver original
  1. echo '<a href="index.php">Previous'.date('d/m/Y', strtotime('yesterday')).'</a>'; // Ayer
  2. echo date('d/m/Y', strtotime('today')); // Hoy
  3. echo '<a href="index.php">Previous'.date('d/m/Y', strtotime('tomorrow')).'</a>'; // Mañana
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #5 (permalink)  
Antiguo 03/12/2010, 08:09
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda para moverme entre dias

¿Por qué no funcionó? ¿Algún error?
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #6 (permalink)  
Antiguo 03/12/2010, 08:14
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Ayuda para moverme entre dias

pasale la fecha por get
  #7 (permalink)  
Antiguo 03/12/2010, 11:42
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por spider_boy Ver Mensaje
¿Por qué no funcionó? ¿Algún error?
No, nada que ver, de que funciona funciona, pero es que lo que quería era algo de ayuda para saber como implementarlo para que recorra las fechas por dias, es decir:

Dia siguiente : que recorra desde el dia actual en adelante

Dia siguiente : que recorra desde el dia actual hacia atras

Gracias
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #8 (permalink)  
Antiguo 03/12/2010, 11:50
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Ayuda para moverme entre dias

Ah, bien, entonces me imagino que la respuesta de Death_Empire te sirvió . Me alegro.

Saludos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #9 (permalink)  
Antiguo 03/12/2010, 11:53
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por spider_boy Ver Mensaje
Ah, bien, entonces me imagino que la respuesta de Death_Empire te sirvió . Me alegro.

Saludos.
Si , a buen entendedor, pocas palabras. Lo voy a intentar y te aviso, puedo?
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #10 (permalink)  
Antiguo 03/12/2010, 16:24
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Hola Spider_boy y Death_Empire,

Solo me muevo entre ayer, hoy y mañana, no me da la opción de antes de ayer, pasado mañana, como podría ser, me ayudan?

Esto es lo que tengo:

Código PHP:
Ver original
  1. $d = 'd';
  2.         $m = 'm';
  3.         $y = 'Y';
  4.         $yesterday = date(''.$d.''.$m.''.$y.'', strtotime('yesterday'));
  5.         $today = date(''.$d.''.$m.''.$y.'', strtotime('today'));
  6.         $tomorrow = date(''.$d.''.$m.''.$y.'', strtotime('tomorrow'));
  7.         if (!isset($_GET['db']) && !isset($_GET['da'])) {
  8.             echo '<a href="index.php?db='.$yesterday.'">Yesterday</a> - '.$today.' - <a href="index.php?da='.$tomorrow.'">Tomorrow</a>';
  9.         } elseif (isset($_GET['db'])) {
  10.             echo '<a href="index.php?db='.$yesterday.'">Day Before</a> - '.date(''.$_GET['db'].'', strtotime('today')).' - <a href="index.php?da='.$tomorrow.'">Tomorrow</a>';
  11.         } else {
  12.             echo '<a href="index.php?db='.$yesterday.'">Day Before</a> - '.date(''.$_GET['da'].'', strtotime('today')).' - <a href="index.php?da='.$tomorrow.'">Day After</a>';
  13.         }
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #11 (permalink)  
Antiguo 03/12/2010, 16:58
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por Death_Empire Ver Mensaje
pasale la fecha por get
spider_boy te dio la base...
Death_Empire te dijo lo que te faltaba...

y yo acabaré por ponerte un ejemplo que espero que no hagas copy & paste sin más, sino que te sirva para aprender...
Por favor... hay que mirar el manual y no lo digo a mal, que yo nunca he dejado de aprender de los demás... Y en este foro he visto gente

Sólo te faltaba el get, cambie el yesterday y tomorrow, pero es lo mismo.

Código PHP:
Ver original
  1. <?php
  2. (isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y', strtotime('today'));
  3.  
  4. $fecha2=preg_split('/\D/',$fecha);
  5. $fecha2=mktime(0, 0, 0, $fecha2[1], $fecha2[0], $fecha2[2]);
  6.    
  7. $prev=date('d/m/Y', strtotime('-1 day',$fecha2));
  8. $next=date('d/m/Y', strtotime('+1 day',$fecha2));
  9.    
  10. echo '<a href="index.php?fecha='.$prev.'">'.$prev.'</a><br><br>';
  11. echo $fecha;
  12. echo '<br><br><a href="index.php?fecha='.$next.'">'.$next.'</a>';
  13. ?>
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #12 (permalink)  
Antiguo 03/12/2010, 17:11
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por IEKK Ver Mensaje
spider_boy te dio la base...
Death_Empire te dijo lo que te faltaba...

y yo acabaré por ponerte un ejemplo que espero que no hagas copy & paste sin más, sino que te sirva para aprender...
Por favor... hay que mirar el manual y no lo digo a mal, que yo nunca he dejado de aprender de los demás... Y en este foro he visto gente

Sólo te faltaba el get, cambie el yesterday y tomorrow, pero es lo mismo.

Código PHP:
Ver original
  1. <?php
  2. (isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y', strtotime('today'));
  3.  
  4. $fecha2=preg_split('/\D/',$fecha);
  5. $fecha2=mktime(0, 0, 0, $fecha2[1], $fecha2[0], $fecha2[2]);
  6.    
  7. $prev=date('d/m/Y', strtotime('-1 day',$fecha2));
  8. $next=date('d/m/Y', strtotime('+1 day',$fecha2));
  9.    
  10. echo '<a href="index.php?fecha='.$prev.'">'.$prev.'</a><br><br>';
  11. echo $fecha;
  12. echo '<br><br><a href="index.php?fecha='.$next.'">'.$next.'</a>';
  13. ?>
Funciona perfecto y tu consejo lo sigo al pie de la letra, y por ello es que quiero hacer esto, no para nada sino para aprender. Esto es solo ejemplos que me pongo dia dia para saber un poco cada dia.

Entiendo todo, pero no entendi esta parte
Código PHP:
Ver original
  1. (isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y', strtotime('today'));

Sobretodo esta:
Código PHP:
]:$ 
Jamás había visto esto, me podrias decir el porque se hizo eso, que papel juega o con que se puede sustituir, no ususaste ni if/else para identificar el get, por ende supongo que php lo identificó por medio del (isset pero me pierde esa linea.

Agradeceria mcho tu explicación , asi aprendo y seguro que de paso aprende alguien más

Gracias
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #13 (permalink)  
Antiguo 03/12/2010, 17:39
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Ayuda para moverme entre dias

Es un simple IF

Esto:
Código PHP:
Ver original
  1. (isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y', strtotime('today'));

Es igual que:
Código PHP:
Ver original
  1. if(isset($_GET['fecha']))
  2.         $fecha=$_GET['fecha']
  3. else
  4.         $fecha=date('d/m/Y', strtotime('today'));

Lo primero es la condición, lo que va después del ? es en caso de que la condicion sea cierta (TRUE) lo que esta después del : es el ELSE, en caso de ser (FALSE)

Ahh y los [ ] són la posición del array, donde va su índice. ( lo digo porque lo pusistes en tu duda con el ?: ) No tiene nada que ver con la sintaxís del condicional.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #14 (permalink)  
Antiguo 03/12/2010, 17:43
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por IEKK Ver Mensaje
Es un simple IF

Esto:
Código PHP:
Ver original
  1. (isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y', strtotime('today'));

Es igual que:
Código PHP:
Ver original
  1. if(isset($_GET['fecha']))
  2.         $fecha=$_GET['fecha']
  3. else
  4.         $fecha=date('d/m/Y', strtotime('today'));

Lo primero es la condición, lo que va después del ? es en caso de que la condicion sea cierta (TRUE) lo que esta después del : es el ELSE, en caso de ser (FALSE)

Ahh los [] són la posición del array, donde va su índice.

Gracias te lo agradezco habia llegado a esta conclusión
Código PHP:
(isset($_GET['fecha']))?$fecha=$_GET['fecha']:$fecha=date('d/m/Y'strtotime('today'));
(isset(
$_GET['fecha']))//verificamos si esta definida
?$fecha=$_GET['fecha']//adjudicamos nuevamente fecha con la fecha dada desde el GET
:$fecha=date('d/m/Y'strtotime('today'))//verificamos que fecha ; 
y en el manual lo mas claro que vi fue esto
http://cl.php.net/manual/es/function.isset.php#89651
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar
  #15 (permalink)  
Antiguo 03/12/2010, 17:45
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Ayuda para moverme entre dias

Cita:
Iniciado por function Ver Mensaje
y en el manual lo mas claro que vi fue esto
http://cl.php.net/manual/es/function.isset.php#89651
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #16 (permalink)  
Antiguo 03/12/2010, 17:47
Avatar de function  
Fecha de Ingreso: abril-2010
Mensajes: 278
Antigüedad: 14 años
Puntos: 13
Respuesta: Ayuda para moverme entre dias

Nuevamente mil gracias, hoy aprendi muchisimo, no de los dias, sino de la funcion isset, increible hacerlo desde una linea y es lo mismo que el if/else

Mil Mil Mil MIl gracias
mucha gente aqui ya no quiere ayudar debido a algunos que solo quieren que les hagan las cosas, es como si no supieran la funcion de un foro en internet. Gracias a todo lo squ me ayudaron, hoy soy un poco mas feliz, mas estupido por saber algo mas, ya que en la inmensidad del saber, entre mas sepa, menos se sabe
__________________
~# echo Hemos logrado la independencia, pero no la libertad >> SimonBolivar

Etiquetas: dias
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:50.