Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2015, 15:19
galaktico
 
Fecha de Ingreso: julio-2008
Mensajes: 57
Antigüedad: 15 años, 10 meses
Puntos: 0
Problema con Función Date Diff

Buenas tardes amigos!

Necesito si me pueden tirar una soga con este problema que estoy teniendo:

Estoy usando la función Diff de PHP de la siguiente manera:

Código PHP:
$fecha1 = new DateTime($row_rs_performance['inicio']);
$fecha2 = new DateTime($row_rs_performance['fin']);
$fecha $fecha1->diff($fecha2);

$fecha_inicio $row_rs_performance['inicio'];
$fecha_fin $row_rs_performance['fin']; 
Hasta ahí todo OK.

Luego hago el print en pantalla de la siguiente manera:

Código PHP:
              <?php do { ?>
                <tr>
                  <td class="registro_tabla2b"><?php echo $row_rs_performance['nombre_apellido']; ?></td>
                  <td class="registro_tabla2">Armado</td>
                  <td class="registro_tabla2"><?php if ($fecha_inicio=='') { echo "-";} else { echo date ("d-m-Y H:i"strtotime ($row_rs_performance['inicio'])); } ?></td>
                  <td class="registro_tabla2"><?php if ($fecha_fin=='') { echo "-";} else { echo date ("d-m-Y H:i"strtotime ($row_rs_performance['fin'])); } ?></td>
                  <td class="registro_gestiona"><?php printf('%d años, %d meses, %d días, %d horas, %d minutos'$fecha->y$fecha->m$fecha->d$fecha->h$fecha->i); ?></td>
                  <td class="registro_tabla2"><?php echo $row_rs_performance['patente']; ?></td>
                </tr>
                <?php } while ($row_rs_performance mysql_fetch_assoc($rs_performance)); ?>
El problema está en que el calculo de diferencia de fecha me funciona ok para el primer registro y con con el Do While me repite el mismo resultado en todos los registros en lugar de realizar el calculo para cada uno de los registros por separado.

Lo que me arroja como resultado es:

0 años, 0 meses, 0 días, 0 horas, 2 minutos
0 años, 0 meses, 0 días, 0 horas, 2 minutos
0 años, 0 meses, 0 días, 0 horas, 2 minutos
0 años, 0 meses, 0 días, 0 horas, 2 minutos

En lugar de arrojarme como resultado, ej:

0 años, 0 meses, 0 días, 0 horas, 2 minutos
0 años, 0 meses, 0 días, 3 horas, 6 minutos
0 años, 0 meses, 0 días, 1 horas, 1 minutos
0 años, 1 meses, 1 días, 4 horas, 52 minutos

Me podrán orientar por favor?

Desde ya muchas gracias!