Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Ciclo For sumar dias y excluir dias domingos

Estas en el tema de Ciclo For sumar dias y excluir dias domingos en el foro de PHP en Foros del Web. hola espero y me puedan ayudar. Estoy tratando de hacer un ciclo en donde según mi fecha date en Y-m-d y dependiendo de la cantidad ...
  #1 (permalink)  
Antiguo 10/08/2015, 21:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 9 meses
Puntos: 8
Busqueda Ciclo For sumar dias y excluir dias domingos

hola espero y me puedan ayudar.
Estoy tratando de hacer un ciclo en donde según mi fecha date en Y-m-d y dependiendo de la cantidad de cuotas definidas, este me sume los dias pero si el dia es Domingo este dia se excluya y siga sumando algo asi.

1 / 2015-08-12 / Wed
2 / 2015-08-13 / Thu
3 / 2015-08-14 / Fri
4 / 2015-08-15 / Sat
--------------------------------
5 / 2015-08-17 / Mon
6 / 2015-08-18 / Tue
7 / 2015-08-19 / Wed
8 / 2015-08-20 / Thu
9 / 2015-08-21 / Fri
10 / 2015-08-22 / Sat

esto es lo que llevo
Código PHP:
$prestamo->cuotas 30;
echo 
"<b>Cuotas $prestamo->cuotas</b>"."</br></br>";


                    for ( 
$i $i <= $prestamo->cuotas $i ++) {
                        
$cuota->num_cuota $i;
                        
$registrado_fin strtotime "+$i day" strtotime (date ('Y-m-d'))) ;
                        
$registrado_fin date 'Y-m-d' $registrado_fin );

                        
$registrado_fin2 strtotime "+$i day" strtotime (date ('Y-m-d'))) ;
                        
$registrado_fin2 date 'D' $registrado_fin2 );

                        if (
$registrado_fin2 !='Sun') {
                            echo 
"$i / $registrado_fin / $registrado_fin2"."</br>";                            
                        }else{
                            echo 
"-------------------------------- </br>";
                        }

                        
                    } 
y me nuestra en pantalla esto:

1 / 2015-08-12 / Wed
2 / 2015-08-13 / Thu
3 / 2015-08-14 / Fri
4 / 2015-08-15 / Sat
--------------------------------
6 / 2015-08-17 / Mon
7 / 2015-08-18 / Tue
8 / 2015-08-19 / Wed
9 / 2015-08-20 / Thu
10 / 2015-08-21 / Fri
11 / 2015-08-22 / Sat
.. / .................../ ...
.. / .................../ ...
.. / .................../ ...
.. / .................../ ...


gracias por la colaboración
__________________
sitios
www.avisoya.com
www.yavendi.com

Última edición por charlescuella; 10/08/2015 a las 21:44
  #2 (permalink)  
Antiguo 11/08/2015, 02:02
 
Fecha de Ingreso: julio-2015
Ubicación: Barcelona
Mensajes: 93
Antigüedad: 9 años, 3 meses
Puntos: 3
Respuesta: Ciclo For sumar dias y excluir dias domingos

N -> Representación numérica ISO-8601 del día de la semana (añadido en PHP 5.1.0)
1 (para lunes) hasta 7 (para domingo)

Pon un if de mientras la fecha("N") != 7 (domingo)....pues voilà.
  #3 (permalink)  
Antiguo 11/08/2015, 04:20
Avatar de baldaweb  
Fecha de Ingreso: septiembre-2010
Ubicación: Barco pirata
Mensajes: 244
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: Ciclo For sumar dias y excluir dias domingos

Cambia la variable $i por otra.
Código PHP:
Ver original
  1. $j=0;
  2. for ( $i = 1 ; $i <= $prestamo->cuotas ; $i ++) {
  3.                         $cuota->num_cuota = $i;
  4.                         $registrado_fin = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  5.                         $registrado_fin = date ( 'Y-m-d' , $registrado_fin );
  6.  
  7.                         $registrado_fin2 = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  8.                         $registrado_fin2 = date ( 'D' , $registrado_fin2 );
  9.  
  10.                         if ($registrado_fin2 !='Sun') {
  11.                             $j++;
  12.                             echo "$j / $registrado_fin / $registrado_fin2"."</br>";                            
  13.                         }else{
  14.                             echo "-------------------------------- </br>";
  15.                         }
  16.  
  17.                        
  18.                     }
  #4 (permalink)  
Antiguo 11/08/2015, 07:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 9 meses
Puntos: 8
Busqueda Respuesta: Ciclo For sumar dias y excluir dias domingos

Cita:
Iniciado por baldaweb Ver Mensaje
Cambia la variable $i por otra.
Código PHP:
Ver original
  1. $j=0;
  2. for ( $i = 1 ; $i <= $prestamo->cuotas ; $i ++) {
  3.                         $cuota->num_cuota = $i;
  4.                         $registrado_fin = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  5.                         $registrado_fin = date ( 'Y-m-d' , $registrado_fin );
  6.  
  7.                         $registrado_fin2 = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  8.                         $registrado_fin2 = date ( 'D' , $registrado_fin2 );
  9.  
  10.                         if ($registrado_fin2 !='Sun') {
  11.                             $j++;
  12.                             echo "$j / $registrado_fin / $registrado_fin2"."</br>";                            
  13.                         }else{
  14.                             echo "-------------------------------- </br>";
  15.                         }
  16.  
  17.                        
  18.                     }

Amigo gracias por el aporte.
Pero lo que veo al ejecutar es el codigo es q este me excluye los domingo y sigue el conteo de la cuotas todo bien, pero al hacer el conteo total de las cuotas en el ciclo de 30 cuota seria 26 pues fueron 4 domingo.
Como se puede hacer para que este siempre llegue a la cantidad de cuota indicadas osea si son 30 cuota este me cuenta las 30 excluyendo los domingos obviamente.

muchas gracias por su aporte
__________________
sitios
www.avisoya.com
www.yavendi.com
  #5 (permalink)  
Antiguo 11/08/2015, 14:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Ciclo For sumar dias y excluir dias domingos

Parece que he dado con la solución a lo que faltaba

aca la pongo el codigo fin.
Código PHP:
Ver original
  1. $prestamo->cuotas = 30;
  2. echo "<b>Cuotas $prestamo->cuotas</b>"."</br></br>";
  3.  
  4. $j=0;
  5.                     for ( $i = 1 ; $i <= $prestamo->cuotas ; $i ++) {
  6.                         $cuota->num_cuota = $i;
  7.                         $registrado_fin = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  8.                         $registrado_fin = date ( 'Y-m-d' , $registrado_fin );
  9.  
  10.                         $registrado_fin2 = strtotime ( "+$i day" , strtotime (date ('Y-m-d'))) ;
  11.                         $registrado_fin2 = date ( 'D' , $registrado_fin2 );
  12.  
  13.                         if ($registrado_fin2 !='Sun') {
  14.                             $j++;
  15.                             echo "$j / $registrado_fin / $registrado_fin2"."</br>";                            
  16.                         }else{
  17.                             echo "-------------------------------- </br>";
  18.                             $prestamo->cuotas = $prestamo->cuotas + 1;
  19.  
  20.                         }
  21.  
  22.                        
  23.                     }

de nuevo muchas gracias por la colaboración prestada
__________________
sitios
www.avisoya.com
www.yavendi.com

Etiquetas: dias, excluir, fecha
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:03.