Foros del Web » Programando para Internet » PHP »

Listar dias de una semana

Estas en el tema de Listar dias de una semana en el foro de PHP en Foros del Web. Hola amigos, Pues no se si postear este tema en php o mysql, en fin lo he posteado en esta sección a ver si ustedes ...
  #1 (permalink)  
Antiguo 22/07/2009, 09:53
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Pregunta Listar dias de una semana

Hola amigos,

Pues no se si postear este tema en php o mysql, en fin lo he posteado en esta sección a ver si ustedes me puden brindar una ayudita.

Necesito hacer un reporte consultado mi base de datos, lo que necesito es que al momento que el usuario haga click en el boton de reporte mensual despliege un reporte algo asi:


Reporte de ingresos de la tercera semana de julio 2009
Lunes 20 | Martes 21 | Miercoles 22 | Jueves 23 | Viernes 25 |


Tengo la idea de como listar el no de la semana en la que estamos con

Código PHP:
date('W'
pero no de como listar los dias de lunes a domingo de la semana

Muchas gracias de antemano por la ayuda amigos!
  #2 (permalink)  
Antiguo 22/07/2009, 09:57
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Listar dias de una semana

Puedes meterlos en un array y luego con un bucle recorrerlo:

Código PHP:
<?php
$dias 
= array('Lunes''Martes''Miercoles''Jueves''Viernes');

foreach (
$dias as $dia)
    echo 
$dia TUGASTO;

?>
  #3 (permalink)  
Antiguo 22/07/2009, 10:01
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Listar dias de una semana

http://www.forosdelweb.com/f18/fecha...2/#post2981903
  #4 (permalink)  
Antiguo 22/07/2009, 11:06
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
De acuerdo Respuesta: Listar dias de una semana

Muchas gracias abimaelrc,

ahora mi duda es, como pasar a una funcion este codigo que logre modificar:

Código PHP:
$s date('W'); //aqui va el numero de semana que deseas
$s $s-date("W");
if(
$s >= 0){
    
$s "+".$s;
}
echo 
date("Y-m-d"strtotime($s " week")).'<br>';  
echo 
$s.'<br>';
$fecha date("Y-m-d"strtotime($s " week"));

$fecha explode("-",$fecha);
$queDiaRepresenta date('w'mktime(0,0,0,$fecha[1],$fecha[2],$fecha[0]));

$n 1;
$semana = array();
while(
$n <= 5){ 
    
$dia = ($fecha[2]-$queDiaRepresenta+$n++);
    
$semana[] = date('l-Y-F-d'mktime(0,0,0,$fecha[1],$dia,$fecha[0]));
}

foreach(
$semana as $k => $v){
    
$fechaFinal explode("-",$v);
    
$fechaFinal[3] = (int)$fechaFinal[3];
    
#echo $fechaFinal[3].'<br>';
    
$primero=$fechaFinal[3]-4;
    
$ultimo=$fechaFinal[3];
}
echo 
$primero.'<br>';
echo 
$ultimo
Muchas Gracias!
  #5 (permalink)  
Antiguo 22/07/2009, 11:20
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Listar dias de una semana

Lo unico que tienes que hacer es crear la funcion con un parametro

Código php:
Ver original
  1. function verSemana($s){
  2. $s = $s-date("W");
  3. if($s >= 0){
  4.     $s = "+".$s;
  5. }
  6. $d = date("Y-m-d", strtotime($s . " week")).'<br>';
  7. $d .= $s.'<br>';
  8. $fecha = date("Y-m-d", strtotime($s . " week"));
  9.  
  10. $fecha = explode("-",$fecha);
  11. $queDiaRepresenta = date('w', mktime(0,0,0,$fecha[1],$fecha[2],$fecha[0]));
  12.  
  13. $n = 1;
  14. $semana = array();
  15. while($n <= 5){
  16.     $dia = ($fecha[2]-$queDiaRepresenta+$n++);
  17.     $semana[] = date('l-Y-F-d', mktime(0,0,0,$fecha[1],$dia,$fecha[0]));
  18. }
  19.  
  20. foreach($semana as $k => $v){
  21.     $fechaFinal = explode("-",$v);
  22.     $fechaFinal[3] = (int)$fechaFinal[3];
  23.     #echo $fechaFinal[3].'<br>';
  24.    $primero=$fechaFinal[3]-4;
  25.     $ultimo=$fechaFinal[3];
  26. }
  27. $d .= $primero.'<br>';
  28. $d .= $ultimo;
  29. return $d;
  30. }
  31.  
  32. echo verSemana(25);
  #6 (permalink)  
Antiguo 22/07/2009, 11:30
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: Listar dias de una semana

Tema solucionado!

Muchas gracias abimaelrc

solo que fijate que al realizar la funcion me aparecen las fechas distintas inician el martes y finalizan el domingo.. a que se debera??

les dejo el codigo creando una clase:

Código PHP:
<?
class dias{
    function 
fecha(){
        
$s $s-date("W");
        if(
$s >= 0){
            
$s "+".$s;
        }
        
#echo date("Y-m-d", strtotime($s . " week")).'<br>';  
        #echo $s.'<br>';
        
$fecha date("Y-m-d"strtotime($s " week"));
        
        
$fecha explode("-",$fecha);
        
$queDiaRepresenta date('w'mktime(0,0,0,$fecha[1],$fecha[2],$fecha[0]));
        
        
$n 1;
        
$semana = array();
        while(
$n <= 5){ 
            
$dia = ($fecha[2]-$queDiaRepresenta+$n++);
            
$semana[] = date('l-Y-F-d'mktime(0,0,0,$fecha[1],$dia,$fecha[0]));
        }
        
        foreach(
$semana as $k => $v){
            
$fechaFinal explode("-",$v);
            
$fechaFinal[3] = (int)$fechaFinal[3];
            
#echo $fechaFinal[3].'<br>';
            
$primero=$fechaFinal[3]-4;
            
$ultimo=$fechaFinal[3];
        }
        return array(
$primero,$ultimo);
    }

}
?>
<?
$sql
=dias::fecha(date('W'));
print_r ($sql);
?>

Última edición por bacdavi; 22/07/2009 a las 12:06
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 13:07.