Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Días de la semana

Estas en el tema de Días de la semana en el foro de PHP en Foros del Web. Hola a todos tengo la siguiente tabla, la cual se llena apartir de una consulta, tengo un problema ... necesito mostrarlo semanalmente, ejemplo: Mes de ...
  #1 (permalink)  
Antiguo 21/06/2017, 16:50
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Días de la semana

Hola a todos tengo la siguiente tabla, la cual se llena apartir de una consulta, tengo un problema ... necesito mostrarlo semanalmente, ejemplo:
Mes de Junio de 2017
1ra semana. (Jueves 1, viernes 2, sabado 3)
Nivel---Nombre---Lunes---Martes---Miercoles---Jueves 1--Viernes 2---Sabado 3
1.1-----JUAN-----..............................valor1---valor2-----valor3
1.5-----ANA------..............................valor1---valor2-----valor3
2.0-----DAN------..............................valor1---valor2-----valor3


De esta manera obtengo el primer día de la semana
Código PHP:
$ObjetoFecha = new DateTime("2017-06-01"); 
// Marzo 2017
$numeroDias $ObjetoFecha->format('t'); 
$diaSemana $ObjetoFecha->format('w'); 
Solo que estoy completamente enredada y no se me ocurre como hacer la parte del número de día y como llenar mis valores (ahora todo lo tengo estático)
Agradezco de antemano su ayuda...

Código HTML:
<table >
  <thead><tr>
  

      <td>NIVEL</td>
      <td>EMPLEADO</td>
      <td>LUNES</td>
      <td>MARTES</td>
      <td>MIERCOLES</td>
      <td>JUEVES</td>
      <td>VIERNES</td>
      <td>SÁBADO</td>

 
  </tr></thead>
  <?php do { ?>
    <tbody><tr>
      
    <td bgcolor="#CCCCCC" align="center"><?php echo $row_empleados['nivel']; ?></td>
     <td bgcolor="#CCCCCC" align="center"><?php echo $row_empleados['Nombre']; ?></td>
     <td bgcolor="#CCCCCC" align="center"></td>  
     <td bgcolor="#CCCCCC" align="center"></td>  
     <td bgcolor="#CCCCCC" align="center"></td>  
     <td bgcolor="#CCCCCC" align="center"></td>  
     <td bgcolor="#CCCCCC" align="center"></td>  
     <td bgcolor="#CCCCCC" align="center"></td>  


                     
    </tr>
    
    
    </tbody>
    <?php } while ($row_empleados= mysql_fetch_assoc($empleados)); ?>
</table> 
  #2 (permalink)  
Antiguo 22/06/2017, 09:20
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Días de la semana

Hola ya tengo las columnas de las fechas seguido de empleado...
2017-05-29 2017-05-30 2017-05-31 2017-06-01 2017-06-02 2017-06-03
Mi pregunta es como obtendría el nombre del día Lunes, Martes... etc
Gracias

Código PHP:
 <td>EMPLEADO </td>
       <?php
 
 
function obtener_semana($date) {
         
  
$date2 strtotime($date);
  
$inicio0 strtotime('sunday this week -1 week'$date2);
   
  
$inicio=date('Y-m-d'$inicio0);
  


  for(
$i=1;$i<=6;$i++){
      echo 
"<TD> ".date("Y-m-d"strtotime("$inicio +$i day"))."</TD>";
  }
   
}
$fecha='2017-06-01';
 
$fecha;
 
$fechas=obtener_semana($fecha);
?>
  #3 (permalink)  
Antiguo 22/06/2017, 09:48
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Días de la semana

Por si a alguien le sirve agregue lo siguiente
Código PHP:
setlocale(LC_ALL,"es_ES");
strftime("%A %d de %B del %Y");
  for(
$i=1;$i<=6;$i++){
      echo 
"<TD> ".strftime("%A %d "strtotime("$inicio +$i day"))."</TD>"
  #4 (permalink)  
Antiguo 22/06/2017, 10:40
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Días de la semana

En inglés:

Código PHP:
Ver original
  1. function fecha2dia($f){
  2. return date("l", strtotime($f));
  3. }

Si lo quieres en español:

Código PHP:
Ver original
  1. function fecha2dia($f){
  2. return array("Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo")[intval(date("N", strtotime($f)))-1];
  3. }

Y listo, como se usa?

Código PHP:
Ver original
  1. $dia = fecha2dia("2017-08-15");

Espero te sirva

Saludos ;)

Última edición por alvaro_trewhela; 22/06/2017 a las 11:12

Etiquetas: fecha, mysql, semana, tabla
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 15:55.