Foros del Web » Programando para Internet » PHP »

Hacer planning semanal

Estas en el tema de Hacer planning semanal en el foro de PHP en Foros del Web. Hola compañeros espero que me puedan ayudar con mi problema. Tengo una Base de Datos MySQL y en ella mediante PHP inserto registros y ahora ...
  #1 (permalink)  
Antiguo 30/05/2010, 18:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Hacer planning semanal

Hola compañeros espero que me puedan ayudar con mi problema.

Tengo una Base de Datos MySQL y en ella mediante PHP inserto registros y ahora se me habia ocurrido poderme hacer un planning de todos los registros de la semana actual o sea ke cada semana cambien dependiendo de la fecha que tenga el registro pero solo me gustaria que mostrara 1 semana y que fuera la que estuvieramos en ese momento.

Gracias.
  #2 (permalink)  
Antiguo 31/05/2010, 01:54
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Hacer planning semanal

No he entendido nada.., yo tengo una funcion hecha en python que te saca el domingo y el lunes y el numero de semana de la semana anterior a la que ejecutas el script es eso?
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #3 (permalink)  
Antiguo 31/05/2010, 02:55
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola
Bueno, pues haces el calculo de los días de la semana actual y los muestras,
aunque si te interesa, hay varios programas que hacen ese planning,
busca en sourceforge
saludos
  #4 (permalink)  
Antiguo 31/05/2010, 03:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

Mirad para que lo entendais mejor, por ejemplo tengo estos registros:

24/05/10 portatil acer

31/05/10 portatil asus

03/06/10 portatil toshiba

07/06/10 portatil lg

Vale pues yo querria que en una tabla pusiera esto:

lunes: 31/05/10 portatil asus

martes:

miercoles

jueves:03/06/10 portatil toshiba

viernes:

sabado:

domingo:

Entonces solo me a mostrado los registros que estan en esta semana el otro que era de la pasado no y el de la que viene tampoco.

Gracias.
  #5 (permalink)  
Antiguo 31/05/2010, 03:39
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola
Cita:
Iniciado por djkire Ver Mensaje

Tengo una Base de Datos MySQL y en ella mediante PHP inserto registros y ahora se me habia ocurrido poderme hacer un planning de todos los registros de la semana actual o sea ke cada semana cambien dependiendo de la fecha que tenga el registro pero solo me gustaria que mostrara 1 semana y que fuera la que estuvieramos en ese momento.

Gracias.
Si entiendo bien, en tu primer post quieres que se muestre una semana y que sea la actual, y por lo que veo eso es lo que esta haciendo, entonces, cual es el inconveniente?

Si lo que quieres es poder ver las anteriores también, pues ponle links o botones de anterior y siguiente, y que dependiendo de eso se modifique la consulta que estas haciendo

saludos
  #6 (permalink)  
Antiguo 31/05/2010, 03:44
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: Hacer planning semanal

Si lo que quieres es saber el día de la semana dada una fecha, pasate por aquí

También he usado a Dios google y he encontrado una función ya realizada
Código PHP:
Ver original
  1. <?
  2. /*  Función dia_semana by PaToRoCo (www.patoroco.net)
  3. Se permite la distribución total y modificación de la función, siempre que se nombre al autor */
  4.  
  5. function dia_semana ($dia, $mes, $ano) {
  6.     $dias = array('Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado');
  7.     return $dias[date("w", mktime(0, 0, 0, $mes, $dia, $ano))];
  8. }
  9. ?>
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #7 (permalink)  
Antiguo 31/05/2010, 03:45
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

No a ver solo quiero ver la actual lo otro lo e puesto para que vierais lo que queria y lo entendierais mejor el inconveniente es que no se como hacer eso para programalo en php y mysql.

Si me pudierais ayudar con el codigo muchas gracias.
  #8 (permalink)  
Antiguo 31/05/2010, 03:58
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola
Perdona, es que ando ya con algo de sueño.
Lo que quieres es implementarlo, bueno, en ese caso entonces
puedes hacer lo siguiente

Código PHP:
Ver original
  1. $fecha1 = new DateTime();
  2. echo $fecha1->format('Y-m-d');
  3. $fecha2 = new DateTime();
  4. date_add($fecha2, date_interval_create_from_date_string('7 days'));
  5. echo date_format($fecha2, 'Y-m-d');

y pues ya con esas 2 fechas haces la consulta a la bd
y muestras los datos con un while o el ciclo que prefieras

saludos
  #9 (permalink)  
Antiguo 31/05/2010, 04:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

Perdona pero esque no e entendido mucho tu respuesta y si en el caso de que tuviera mas registros y no cayera en lunes cmo se haria por favor explicamelo parte a parte si puede ser.

Muchas gracias.
  #10 (permalink)  
Antiguo 31/05/2010, 04:40
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola
Bueno, pues por eso te decía que le pegaras una mirada a php.net

Sin embargo, te explico un poco

Código PHP:
Ver original
  1. $fecha = new DateTime();
  2. $fecha1 = new DateTime();
  3. echo $fecha1 = date_format($fecha1, 'Y-m-d');;
  4. $fecha2 = new DateTime();
  5. date_add($fecha2, date_interval_create_from_date_string('7 days'));
  6. $fecha2 = date_format($fecha2, 'Y-m-d');
  7.  
  8. function findNumberDay($anyDate)
  9. {
  10.     //$anyDate            =    '2009-08-25';    // date format should be yyyy-mm-dd
  11.     list($yr,$mn,$dt)    =    split('-',$anyDate);    // separate year, month and date
  12.     $timeStamp            =    mktime(0,0,0,$mn,$dt,$yr);    //Create time stamp of the day from the give date.
  13.     $firstDay            =     date('w',$timeStamp);    //get first day of the given month
  14.     $arrDay                =    array("$firstDay"); // return the result in an array format.
  15.    
  16.     return $arrDay;
  17. }
  18.  
  19. //Usage
  20. $dayArray=array();
  21. $dayArray=findNumberDay($fecha1);
  22. echo "Dia fecha1 ".$dayArray[0];
  23. $dayArray=findNumberDay($fecha2);
  24. echo "Dia fecha2 ".$dayArray[0];

Que hace ese código?
Bueno, pues crea 2 fechas, la primera es la fecha actual y la otra es la fecha actual + 7 días

Luego ambas fechas van a la función findNumberDay, y nos devuelven el día de la semana que corresponde a esa fecha (de 0 a 6 siendo 0 domingo y 6 lunes)
así pues en este ejemplo ambos serán 1 y para probar el cambio, pues a fecha2 asignale menos o más días

Espero esto se te aclare un poco más
saludos
  #11 (permalink)  
Antiguo 31/05/2010, 05:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

Si la verdad se me a quedado todo mas claro voy a probar y te digo algo.

Muchisimas gracias por tu colaboración.
  #12 (permalink)  
Antiguo 31/05/2010, 06:19
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

Lo malo es que eso me saca el dia de hoy i a partir de ahi me saca los 7 dias siguientes entonces cuando sea martes no me saldra el lunes de la semana actual sino el de la que biene.

A mi lo que me gustaria seria ke me sacara la semana actual y cuando fuera el lunes que viene ke me sacara la actual en el momento.

pero claro no se com hacer que se mantenga toda la semana actual por ejemplo y de esa forma sacar los registros.

Gracias.
  #13 (permalink)  
Antiguo 31/05/2010, 18:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Hacer planning semanal

Hola

Revisate esto

Código PHP:
Ver original
  1. <?php
  2.  
  3. //fecha actual de la semana
  4. $fecha_actual = new DateTime();
  5. //agregamos dias para pruebas
  6. date_add($fecha_actual, date_interval_create_from_date_string('0 days'));
  7. $fecha_actual = date_format($fecha_actual, 'Y-m-d');
  8.  
  9.  
  10. //Usage
  11. $dayArray=array();
  12. $dayArray=findNumberDay($fecha_actual);
  13. echo 'Dia $fecha_actual '.$dayArray[0].'<br>';
  14. $lunes_actual = new DateTime($fecha_actual);                        
  15. $domingo_actual = new DateTime($fecha_actual);                              
  16. if($dayArray[0] > 1)
  17. {
  18.   $dialunes = $dayArray[0] - 1;
  19.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  20.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  21.   $diadomingo = 7 - $dayArray[0];
  22.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  23.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');  
  24. }else if($dayArray[0] == 0){
  25.   $dialunes = 6;
  26.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  27.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  28.   $diadomingo = 0;
  29.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  30.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');
  31. }else{
  32.   $dialunes = 0;
  33.   date_add($lunes_actual, date_interval_create_from_date_string('-'.$dialunes.' days'));
  34.   $lunes_actual = date_format($lunes_actual, 'Y-m-d');
  35.   $diadomingo = 6;
  36.   date_add($domingo_actual, date_interval_create_from_date_string('+'.$diadomingo.' days'));
  37.   $domingo_actual = date_format($domingo_actual, 'Y-m-d');
  38. }
  39.  
  40. $dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
  41.   echo "fecha_actual ACTUAL ES ".$fecha_actual.' '.$dias[$dayArray[0]].'<br>';
  42.  echo "LUNES ACTUAL ES ".$lunes_actual.'<br>';
  43.   echo "DOMINGO ACTUAL ES ".$domingo_actual;
  44.  
  45. //Funcion para numero de dia
  46.  
  47. function findNumberDay($anyDate)
  48. {
  49.     //$anyDate            =    '2009-08-25';    // date format should be yyyy-mm-dd
  50.     list($yr,$mn,$dt)    =    split('-',$anyDate);    // separate year, month and date
  51.     $timeStamp            =    mktime(0,0,0,$mn,$dt,$yr);    //Create time stamp of the day from the give date.
  52.     $firstDay            =     date('w',$timeStamp);    //get first day of the given month
  53.     $arrDay                =    array("$firstDay"); // return the result in an array format.
  54.    
  55.     return $arrDay;                                                                                
  56. }

saludos
  #14 (permalink)  
Antiguo 12/09/2010, 05:04
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Hacer planning semanal

Gracias por tu información ma sido muy valida ya lo tengo todo solucionado.

Etiquetas: Ninguno
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:12.