Hi
I am not sure I am approaching this correctly.
I need to increment the appointment time by 15 mins for each loop.
This is would be the correct result:
13:00, 13:15, 13:30, 13:45, 14:00,
This is what I am getting:
13:15, 13:15, 13:15, 13:15, 13:15
The user selects the first appointment example 13:00:00 hrs (HH:MM)
and one or more time blocks. Time blocks range from 1 to 10. Each is 0.15 mins (H).
$event_time = 13:00;//start time
$time_block = 5;// number of loops
$event_length = 0.15;//start time increment by

<?php
/**--------------------------insert appointment in database--------------------------**/
//loop the number of time blocks
for($i = 0; $i < $time_block; $i++)
 {
 
 
           /**---------------------calculate total duration---------------------**/
     //Note: event time length * time_block = total event duration
    //split event time
     list($event_hour, $event_min) = explode(".",$event_time);
 
    //event length
    list($length_hour, $length_min) = explode(".",$event_length);
 
    //convert event time to minutes
     $event_minutes = ($event_hour * 60) + $event_min;
 
     //convert event time length to minutes
     $length_minutes = (length_hour * 60) + $length_min;
 
    //add event time to event duration = next event time
    $total_min = $event_minutes + $length_minutes++;
 
   //convert minutes to hours and minutes
   if($total_min < 0)
         {
             $min =Abs($total_min);
  }
  else
      {
   $min = $total_min;
     }
   $H = Floor($min/60);
   $M = ($min - ($H * 60))/100;
   $hours = $H + $M;
 
   if($total_min < 0) 
   {
      $hours = $hours * (-1);
  }
 
  $expl = explode(".",$hours);
  $H = $expl[0];
 
  if(empty($expl[1])) 
     {
   $expl[1] = 00;
     } 
 
  $M = $expl[1];
  if(strlen($M) < 2)
     {
  $M = $M . 0;
     }
 
     $new_event_time = $H.".".$M;//total duration
 
 
 
 /**-------------------database insert statement goes here ------------------**/
 
   }
<?

Hi
Thanks for the response.
This is the solution:

$event_time = "13:00"; 
$time_block = 5; 
$event_length = 15; // minutes 
for($i = 0, $eTime = strtotime($event_time); 
    $i < $time_block; 
    $i++, $eTime = strtotime("+$event_length minutes", $eTime)) 
{ 
   $new_event_time = date('H:i', $eTime); 
   echo "<p>$new_event_time</p>\n"; 
}

aasgar. Your problem is when you do an explode() on the $even_time your seperator is "." but there are no dots in 13:00 it should be
exlode(":", $event_time);

Fix that, and it should work for you.

Cheers.

This question has already been answered. Start a new discussion instead.