Jump to content

editing appointment info in data table.


assgar

Recommended Posts

editing appointment info in data table.

 

Hi

 

I am having problems how to proceed in editing appointment info.

 

In this example I have a meeting (code 201) on Monday (day code 550)

from 09:00:00 to 12:00:00.

This is stored in the data table as:

start_time  end_time  start_date  end_date  week_day type_code

09:00:00    12:00:00  2008-01-01  2008-01-01 550      201

 

 

If I decided need to change the time range for the appointments to

meeting 09:00 to 10:00, break 10:00 to 11:00 and meeting 11:00 to 12:00.

What is the best way to edit the data table to refelect that I am taking a

break from 10:00 to 11:00?

 

1) I am having trouble determining how to extract the 10:00 to 11:00 time range from the

  existing 09:00 to 12:00 time range found in the data table to get these results.

 

start_time  end_time  start_date  end_date  week_day type_code

  09:00:00  10:00:00  2008-01-01  2008-01-01 550      201

  10:00:00  11:00:00  2008-01-01  2008-01-01 550      202

  11:00:00  12:00:00  2008-01-01  2008-01-01 550      201

 

 

2) To get the above results should I copy the existing data and insert

  two new entries (10 to 11 and 11 to 12) and update the existing entry to reflect 9 to 10? 

 

3) What formulas/functions can I use to allow changes to any part of the time range? 

 

Note: This is a dynamic system.

      Appointment time is displayed in 15 minute interval usiing the start and end time

      eg. 09:00 - 09:15

          09:15 - 09:30

        09:30 - 09:45

        09:45 - 10:00

        10:00 - 10:15

        10:15 - 10:30

        10:30 - 10:45

        and so on to

        11:45 - 12:00.

Link to comment
https://forums.phpfreaks.com/topic/90256-editing-appointment-info-in-data-table/
Share on other sites

  • 2 weeks later...

Hi

 

This is the solution I have come up with.

I am open to suggestion

 

<?php

/**NOTE:
Where editing of time/date range is between existing start and end time/date range.
The existing range is split into 3 portions: beginning (update), middle (insert1)
and end (insert2).
update:
a)time: use existing time range,
        b)date: existing start to new start date(insert1) minus 1 (previous day)
insert1:
        a)time: new time range
b)date: new date range
insert2:
        a)time: use existing time range
b)date:	new end date plus 1 (following day) to existing end date

//edited time range is before/after existing end time range
update:
a)time: use existing time range,
        b)date: existing start to edition(insert1) start date minus 1 (previous day)
insert1:
        a)time: new
b)date: new
**/


/**-----------------------variables--------------------------**/
//table data being edited:
$old_start_date = "2008-01-01";
$old_end_date = "2008-01-10";
$old_type = 201;
$old_start_time = "09:00:00";
$old_end_time = "12:00:00";

//selected from current form:
$new_start_date = "2008-01-01";
$new_end_date = "2008-01-04';
$new_type = 202;
$new_start_time = "10:00:00";
$new_end_time = "11:00:00";

/**--------------values for update and insert query---------------**/
//for spliting date range into three: range 1 end date (- one day gives prevoius day)
$old_sec = strtotime($old_start_date);
$new_sec = strtotime($new_start_date);
$diff_day = floor((($new_sec - $old_sec) - 86400)/86400);
$mod_end = date("Y-m-d", strtotime("+$diff_day days",$old_sec));

//for spliting date range into three: range 3 start date (+ one day gives next day)
$end_sec = strtotime($new_end_date);
$start_sec = strtotime($new_start_date);
$diff_day = floor(((($end_sec - $start_sec)) + 86400)/86400);
$mod_start = date("Y-m-d", strtotime("+$diff_day days",$start_sec));

if($new_start_date == $old_start_date && $new_end_date == $old_end_date &&
$new_start_time == $old_start_time && $new_end_time == $old_end_time)
    {
//updates existing time range:
$update_start_time = $new_start_time;
$update_end_time = $new_end_time;
$update_start_date = $new_start_date;
$update_end_date = $new_end_date;
$update_type = $new_type;
   }
   elseif($new_start_date > $old_start_date && $new_end_date < $old_end_date)
      {
//updates existing time range:
$update_start_time = $old_start_time;
$update_end_time = $old_end_time;
$update_start_date = $old_start_date;
$update_end_date = $mod_end;
$update_type = $old_type;

//values for insert1 middle time and date range
$insert1_start_time = $new_start_time;
$insert1_end_time = $new_end_time;
$insert1_start_date = $new_start_date;
$insert1_end_date = $new_end_date;
$insert1_type = $new_type;

//values for insert2 end time and date range
$insert2_start_time = $old_start_time;
$insert2_end_time = $old_end_time;
$insert2_start_date = $mod_start;
$insert2_end_date = $old_end_date;
$insert2_type = $old_type;

     }
     elseif($new_start_date == $old_start_date && $new_end_date == $old_end_date ||
   $new_start_date == $old_start_date && $new_end_date < $old_end_date ||
   $new_start_date > $old_start_date && $new_end_date == $old_end_date)
{
   if($new_start_date == $old_start_date && $new_end_date < $old_end_date)
     {
	//updates existing time range:
	$update_start_time = $old_start_time;
	$update_end_time = $old_end_time;
	$update_start_date = $mod_start;
	$update_end_date = $old_end_date;
	$update_type = $old_type;

	//values for insert1 middle time and date range
	$insert1_start_time = $new_start_time;
	$insert1_end_time = $new_end_time;
	$insert1_start_date = $new_start_date;
	$insert1_end_date = $new_end_date;
	$insert1_type = $new_type;
     }
    elseif($new_start_date > $old_start_date && $new_end_date == $old_end_date)
	{
            //updates existing time range:
            $update_start_time = $old_start_time;
	    $update_end_time = $old_end_time;
	    $update_start_date = $old_start_date;
	    $update_end_date = $mod_end;
	    $update_type = $old_type;

	    //values for insert1 middle time and date range
	    $insert1_start_time = $new_start_time;
	    $insert1_end_time = $new_end_time;
	    $insert1_start_date = $new_start_date;
	    $insert1_end_date = $new_end_date;
	    $insert1_type = $new_type;
	}
	elseif($new_start_date == $old_start_date && $new_end_date == $old_end_date)
	   {
	       /**Note: the abreviations represent
		$ust (update start time)
		$uet (update end time)
		$ist1 (insert1 start time)
		$iet1 (insert1 end time)
		$ist2 (insert2 start time)
		$iet2 (insert2 end time)
		**/

		//make easy to follow start and end time
		$A_start = $old_start_time;
		$A_end = $old_end_time;
  		$C_start = $new_start_time;
		$C_end = $new_end_time;

		//new start and end time in existing range
		if($new_start_time > $old_start_time  && $new_end_time < $old_end_time)
    			  {
		     //update and 2 inserts, start and end time beginning, middle and end
		     $ust = $A_start;
      			     $uet = $C_start;
      			     $ist1 = $C_start;
      			     $iet1 = $C_end;
     			     $ist2 = $C_end;
      			     $iet2 = $A_end;
		  }
    			  //new start time begin in and end at end at existing range end
     	      	  	  elseif($new_start_time > $old_start_time  && $new_end_time == $old_end_time)
                	      {
  				//update and insert start and end time
    				$ust = $A_start;
      				$uet = $C_start;
      				$ist1 = $C_start;
      				$iet1 = $A_end;
		      }
  			      elseif($new_start_time == $old_start_time && $new_end_time < $old_end_time)
               			  {
       			             $ust = $C_end;
      			             $uet = $A_end;
      			             $ist1 = $C_start;
      				     $iet1 = $C_end;
      				  }
			  elseif($new_start_time < $old_start_time && $new_end_time <= $old_start_time)
      				     {
    					//start and end time
  					$ust = $A_start;
      					$uet = $A_end;
      					$ist1 = $C_start;
      					$iet1 = $C_end;
   				     }
			    elseif($new_start_time < $old_start_time && $new_end_time > $old_start_time &&
				   $new_end_time < $old_end_time)
				{
				   $ust = $C_end;
      					   $uet = $A_end;
      					   $ist1 = $C_start;
      					   $iet1 = $C_end;
					}
    	      	   			elseif($new_start_time < $old_start_time  && $new_end_time > $old_end_time)
               				   {
					      //start and end time
  					      $ust = $C_start;
      					      $uet = $C_end;
  					   }
				  elseif($new_start_time >= $old_end_time && $new_end_time > $old_end_time)
              				     {
					//start and end time
  						$ust = $A_start;
      						$uet = $A_end;
      						$ist1 = $C_start;
      						$iet1 = $C_end;
				     }

			//updates existing time range:
			$update_start_time = $ust;
			$update_end_time = $uet;
			$update_start_date = $old_start_date;
			$update_end_date = $old_end_date;
			$update_type = $old_type;

			//values for insert time and date range
			$insert1_start_time = $ist1;
		        $insert1_end_time = $iet1;
			$insert1_start_date = $new_start_date;
			$insert1_end_date = $new_end_date;
			$insert1_type = $new_type;

			//values for insert time and date range
			$insert2_start_time = $ist2;
			$insert2_end_time = $iet2;
			$insert2_start_date = $old_start_date;//$end_sd;
			$insert2_end_date = $old_end_date;
			$insert2_type = $old_type;

  }


   /**--------------------update existing table entry--------------------**/
  if($new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time == $old_start_time && $new_end_time == $old_end_time ||
     $new_start_date > $old_start_date && $new_end_date < $old_end_date ||
     $new_start_date == $old_start_date && $new_end_date < $old_end_date ||
     $new_start_date > $old_start_date && $new_end_date == $old_end_date ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time > $old_start_time  && $new_end_time < $old_end_time ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time > $old_start_time  && $new_end_time == $old_end_time ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time == $old_start_time && $new_end_time < $old_end_time ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time < $old_start_time && $new_end_time <= $old_start_time ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time < $old_start_time && $new_end_time > $old_start_time &&
     $new_end_time < $old_end_time ||
     $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
     $new_start_time < $old_start_time  && $new_end_time > $old_end_time ||
     $new_start_time >= $old_end_time && $new_end_time > $old_end_time &&
     $new_start_date == $old_start_date && $new_end_date == $old_end_date)
 {
       		//update existing entry (start)
       		//add update query here
   
         }

    /**----------------insert1 for edited data (middle or end range)---------------**/
    if($new_start_date > $old_start_date && $new_end_date < $old_end_date ||
       $new_start_date == $old_start_date && $new_end_date < $old_end_date ||
       $new_start_date > $old_start_date && $new_end_date == $old_end_date ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time > $old_start_time  && $new_end_time < $old_end_time ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time > $old_start_time  && $new_end_time == $old_end_time ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time == $old_start_time && $new_end_time < $old_end_time ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time < $old_start_time && $new_end_time <= $old_start_time ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time < $old_start_time && $new_end_time > $old_start_time &&
       $new_end_time < $old_end_time ||
       $new_start_time >= $old_end_time && $new_end_time > $old_end_time &&
       $new_start_date == $old_start_date && $new_end_date == $old_end_date)
             {
              	//new insert event $type (end)
  	     	//add insert query here
  	     }

    /**--------------------insert2 for edited data (end range)-----------------**/
    if($new_start_date > $old_start_date && $new_end_date < $old_end_date ||
       $new_start_date == $old_start_date && $new_end_date == $old_end_date &&
       $new_start_time > $old_start_time  && $new_end_time < $old_end_time)
{
   	   //second new insert with existing entry (end)
	   //add insert query here
        }


?>

<?php

function insertBreak ($meeting, $start, $duration, $code)
{
    $sql = "SELECT * FROM meeting WHERE id = $meeting";
    $res = mysql_query($sql) or die (mysql_error());
    list ($id, $stime, $etime, $sdate, $edate, $wd, $type) = mysql_fetch_row($res);
        // update existing record
    mysql_query ("UPDATE meeting SET end_time = '$start' WHERE id = $meeting");
        // the break
    $breakend = date('H:i:s', strtotime("+$duration minutes $start") );
    mysql_query("INSERT INTO meeting VALUES (NULL, '$start', '$breakend', '$sdate', '$edate', $wd, $code)")
        or die (mysql_error());
        // rest of meeting
    mysql_query("INSERT INTO meeting VALUES (NULL, '$breakend', '$etime', '$sdate', '$edate', $wd, $type)")
        or die (mysql_error());
}

// insert 60 min break into meeting #123 at 10:00 and give it code 202
insertBreak (123, '10:00', 60, 202);
?>

  • 4 weeks later...

Hi

 

Thanks for the response.

 

This is the solution.

 

I have left the echos for testing:this displays what is occuring.

 

<?php
<?
     //for spliting date range into three: range 1 end date (- one day gives prevoius day)
    $old_sec = strtotime($old_start_date);
    $new_sec = strtotime($new_start_date);
    $diff_day = floor((($new_sec - $old_sec) - 86400)/86400);
    $mod_end = date("Y-m-d", strtotime("+$diff_day days",$old_sec));
    
    //for spliting date range into three: range 3 start date (+ one day gives next day)
    $end_sec = strtotime($new_end_date);
    $start_sec = strtotime($new_start_date);
    $diff_day = floor(((($end_sec - $start_sec)) + 86400)/86400);
    $mod_start = date("Y-m-d", strtotime("+$diff_day days",$start_sec));

 //same dates
 if($new_start_date == $old_start_date && $new_end_date == $old_end_date)
  	   {
   	       echo "(date)==== <br>";
	   if($new_start_time == $old_start_time && $new_end_time == $old_end_time)
     		{
    	      $update_start_time = $new_start_time;
    	  	  $update_end_time = $new_end_time;
    		  $update_start_date = $new_start_date;
    		  $update_end_date = $new_end_date;
    		  $update_type = $new_type;
    	echo "(time)====  <br>";
    		  $action = 1;
     		}
     	     elseif($new_start_time > $old_start_time && $new_end_time == $old_end_time)
     		{
   	   	   	   $update_start_time = $old_start_time;
    	   	   $update_end_time = $new_start_time;
    	   	   $update_start_date = $old_start_date;
    	   	   $update_end_date = $new_end_date;
    	   	   $update_type = $old_type;    
    	   
    	   	   $insert1_start_time = $new_start_time;
    	   	   $insert1_end_time = $new_end_time;
    	   	   $insert1_start_date = $new_start_date;
    	   	   $insert1_end_date = $new_end_date;
    	   	   $insert1_type = $new_type;
    	   echo "(time)>==  <br>";
    	   	   $action = 2;
	       }
     	   elseif($new_start_time == $old_start_time && $new_end_time < $old_end_time)
     	   	{
  	       	       $update_start_time = $new_end_time;
    	       	   $update_end_time = $old_end_time;
    	           $update_start_date = $old_start_date;
    	           $update_end_date = $new_end_date;
    	           $update_type = $old_type;    
    	   
    	           $insert1_start_time = $new_start_time;
    	           $insert1_end_time = $new_end_time;
    	           $insert1_start_date = $new_start_date;
    	           $insert1_end_date = $new_end_date;
    	           $insert1_type = $new_type;   
    	      echo "(time)==<  <br>"; 
    	           $action = 2;
     	      }
     	     elseif($new_start_time > $old_start_time && $new_end_time < $old_end_time)
     	    	{
    	       	   $update_start_time = $old_start_time;
    	           $update_end_time = $new_start_time;
    	           $update_start_date = $new_start_date;
    	           $update_end_date = $new_end_date;
    	           $update_type = $old_type;    
    	   
    	           $insert1_start_time = $new_start_time;
    	           $insert1_end_time = $new_end_time;
    	           $insert1_start_date = $new_start_date;
    	           $insert1_end_date = $new_end_date;
    	           $insert1_type = $new_type;   
     	  
    	           $insert2_start_time = $new_end_time;
    	           $insert2_end_time = $old_end_time;
    	           $insert2_start_date = $new_start_date;
    	           $insert2_end_date = $old_end_date;
    	           $insert2_type = $old_type;   
     	      echo "(time)><  <br>";
     	           $action = 3;
     	    	}
      elseif($new_start_time < $old_start_time && $new_end_time > $old_end_time)
    		{
    		   $update_start_time = $new_start_time;
    	           $update_end_time = $new_end_time;
    	           $update_start_date = $new_start_date;
    	           $update_end_date = $new_end_date;
    	           $update_type = $new_type;
    	      echo "(time) <> <br>";
    		   $action = 1;
            }
	       elseif($new_start_time < $old_start_time && $new_end_time < $old_end_time ||
	             $new_start_time > $old_start_time && $new_end_time > $old_end_time)
    		{
    	       	   $insert1_start_time = $new_start_time;
    	           $insert1_end_time = $new_end_time;
    	           $insert1_start_date = $new_start_date;
    	           $insert1_end_date = $new_end_date;
    	           $insert1_type = $new_type;
    	      echo "(time) << or >> <br>";     
    	           $action = B;
               	}
    	}
     //start and before end date
     elseif($new_start_date == $old_start_date && $new_end_date < $old_end_date)
    	{
    	   echo "(date)==< <br>";
	   if($new_start_time == $old_start_time && $new_end_time == $old_end_time)
    	   {
    	       $update_start_time = $old_start_time;
    	       $update_end_time = $old_end_time;
    	       $update_start_date = $mod_start;
    	       $update_end_date = $old_end_date;
    	       $update_type = $old_type;    
    	   
    	       $insert1_start_time = $new_start_time;
    	       $insert1_end_time = $new_end_time;
    	       $insert1_start_date = $new_start_date;
    	       $insert1_end_date = $new_end_date;
    	       $insert1_type = $new_type;   
    	   echo "(time)====  <br>";
    	       $action = 2;
    	   }
  	     elseif($new_start_time > $old_start_time && $new_end_time == $old_end_time)
    	     {
     	       	$update_start_time = $old_start_time; 
    	       	$update_end_time = $old_end_time;
    	       	$update_start_date = $mod_start;
    	       	$update_end_date = $old_end_date;
    	       	$update_type = $old_type;    
    	   
    	       	$insert1_start_time = $new_start_time;
    	       	$insert1_end_time = $new_end_time;
    	       	$insert1_start_date = $new_start_date;
    	       	$insert1_end_date = $new_end_date;
    	       	$insert1_type = $new_type;   
     	  
    	       	$insert2_start_time = $old_start_time;
    	       	$insert2_end_time = $new_start_time;
    	       	$insert2_start_date = $new_start_date;
    	       	$insert2_end_date = $new_end_date;
    	       	$insert2_type = $old_type;   
    	   echo "(time) >== <br>";
    	       	$action = 3;
    	     }
     	     elseif($new_start_time == $old_start_time && $new_end_time < $old_end_time)
        	  {
         	      $update_start_time = $old_start_time; 
        	      $update_end_time = $old_end_time;
        	      $update_start_date = $mod_start;
        	      $update_end_date = $old_end_date;
        	      $update_type = $old_type;    
        	   
        	      $insert1_start_time = $new_start_time;
        	      $insert1_end_time = $new_end_time;
        	      $insert1_start_date = $new_start_date;
        	      $insert1_end_date = $new_end_date;
        	      $insert1_type = $new_type;   
         	  
         	      $insert2_start_time = $new_end_time;
        	      $insert2_end_time = $old_end_time;
        	      $insert2_start_date = $new_start_date;
        	      $insert2_end_date = $new_end_date;
        	      $insert2_type = $old_type;   
        	   echo "(time)==<  <br>";
        	       	$action = 3;
    	         }
     	     elseif($new_start_time > $old_start_time && $new_end_time < $old_end_time)
        	   {
         	      $update_start_time = $old_start_time; 
        	      $update_end_time = $old_end_time;
        	      $update_start_date = $mod_start;
        	      $update_end_date = $old_end_date;
        	      $update_type = $old_type;    
        	   
        	      $insert1_start_time = $new_start_time;
        	      $insert1_end_time = $new_end_time;
        	      $insert1_start_date = $new_start_date;
        	      $insert1_end_date = $new_end_date;
        	      $insert1_type = $new_type;   
         	  
         	      $insert2_start_time = $old_start_time;
        	      $insert2_end_time = $new_start_time;
        	      $insert2_start_date = $new_start_date;
        	      $insert2_end_date = $new_end_date;
        	      $insert2_type = $old_type;   

         	      $insert3_start_time = $new_end_time;
         	      $insert3_end_time = $old_end_time;
         	      $insert3_start_date = $new_start_date;
         	      $insert3_end_date = $new_end_date;
         	      $insert3_type = $old_type;   
			echo "(time)><  <br>";
        	       	$action = 4;
    	         }
     	     elseif($new_start_time < $old_start_time && $new_end_time > $old_end_time)
        	   {
         	      $update_start_time = $old_start_time; 
        	      $update_end_time = $old_end_time;
        	      $update_start_date = $mod_start;
        	      $update_end_date = $old_end_date;
        	      $update_type = $old_type;    
        	   
        	      $insert1_start_time = $new_start_time;
        	      $insert1_end_time = $new_end_time;
        	      $insert1_start_date = $new_start_date;
        	      $insert1_end_date = $new_end_date;
        	      $insert1_type = $new_type;   
			echo "(time)<>  <br>";
       	       	  $action = 2;
    	        }
  
		  elseif($new_start_time < $old_start_time && $new_end_time <= $old_end_time ||
     	     	    $new_start_time >= $old_start_time && $new_end_time > $old_end_time)
        	   {
  
    		      $update_start_time = $old_start_time; 
        	      $update_end_time = $new_start_time;
        	      $update_start_date = $mod_start;
        	      $update_end_date = $old_end_date;
        	      $update_type = $old_type;    
        	   
        	      $insert1_start_time = $new_start_time;
        	      $insert1_end_time = $new_end_time;
        	      $insert1_start_date = $new_start_date;
        	      $insert1_end_date = $new_end_date;
        	      $insert1_type = $new_type;   
			echo "(time)<<= or >=>  <br>";
       	       	  $action = 2;
  
    		   }
       }
  //after start to end date 
  elseif($new_start_date > $old_start_date && $new_end_date == $old_end_date)
    {
  echo "(date) >== <br>";   	
	if($new_start_time == $old_start_time && $new_end_time == $old_end_time)
    	   {
     	       $update_start_time = $old_start_time; 
    	       $update_end_time = $old_end_time;
    	       $update_start_date = $old_start_date; 
    	       $update_end_date = $mod_end;
    	       $update_type = $old_type;    
    	   
    	       $insert1_start_time = $new_start_time;
    	       $insert1_end_time = $new_end_time;
    	       $insert1_start_date = $new_start_date;
    	       $insert1_end_date = $new_end_date;
    	       $insert1_type = $new_type;   
      	   echo "(time) ==== <br>";
    	       $action = 2;
    	   }
    	   elseif($new_start_time > $old_start_time && $new_end_time == $old_end_time)
    	     {
         		$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end; 
        		$update_type = $old_type;    
        	   
        		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
         	  
         		$insert2_start_time = $old_start_time;
        		$insert2_end_time = $new_start_time;
        		$insert2_start_date = $new_start_date;
        		$insert2_end_date = $old_end_date;
        		$insert2_type = $old_type;   
			echo "(time) >== <br>";
         		$action = 3;
    	     }
     	    elseif($new_start_time == $old_start_time && $new_end_time < $old_end_time)
    	      {
         		 $update_start_time = $old_start_time; 
        	     $update_end_time = $old_end_time;
        	     $update_start_date = $old_start_date;
        	     $update_end_date = $mod_end;
        	     $update_type = $old_type;    
        	   
        	     $insert1_start_time = $new_start_time;
        	     $insert1_end_time = $new_end_time;
        	     $insert1_start_date = $new_start_date;
        	     $insert1_end_date = $new_end_date;
        	     $insert1_type = $new_type;   
         	  
         	     $insert2_start_time = $new_end_time;
        	     $insert2_end_time = $old_end_time;
        	     $insert2_start_date = $new_start_date;
        	     $insert2_end_date = $new_end_date;
        	     $insert2_type = $old_type;   
			echo "(time) ==<  <br>";
            	 $action = 3;
    	      }
    	    elseif($new_start_time > $old_start_time && $new_end_time < $old_end_time)
    	      {
         		 $update_start_time = $old_start_time; 
        		 $update_end_time = $old_end_time;
        		 $update_start_date = $old_start_date;
        		 $update_end_date = $mod_end;
        		 $update_type = $old_type;    
        	   
        		 $insert1_start_time = $new_start_time;
        		 $insert1_end_time = $new_end_time;
        		 $insert1_start_date = $new_start_date;
        		 $insert1_end_date = $new_end_date;
        		 $insert1_type = $new_type;   
         	  
         		 $insert2_start_time = $old_start_time;
        		 $insert2_end_time = $new_start_time;
        		 $insert2_start_date = $new_start_date;
        		 $insert2_end_date = $new_end_date;
        	 	 $insert2_type = $old_type;   

		         $insert3_start_time = $new_end_time;
        		 $insert3_end_time = $old_end_time;
        		 $insert3_start_date = $new_start_date;
        	 	 $insert3_end_date = $old_end_date;
        		 $insert3_type = $old_type;   
  			  echo "(time) ><  <br>";
         		 $action = 4;
    	      }
   	       elseif($new_start_time < $old_start_time && $new_end_time > $old_end_time)
    	      {
        	 	  $update_start_time = $old_start_time; 
        	 	  $update_end_time = $old_end_time;
        	 	  $update_start_date = $old_start_date;
        	 	  $update_end_date = $mod_end;
        	 	  $update_type = $old_type;    
        	   
        	 	  $insert1_start_time = $new_start_time;
        	 	  $insert1_end_time = $new_end_time;
        	 	  $insert1_start_date = $new_start_date;
        	 	  $insert1_end_date = $new_end_date;
        	 	  $insert1_type = $new_type;   
  				echo "(time) <> <br>";
         		  $action = 2;
  	         }
   	      elseif($new_start_time < $old_start_time && $new_end_time <= $old_end_time ||
   	           $new_start_time >= $old_start_time && $new_end_time > $old_end_time)
    	      {
         	 		
				$insert1_start_time = $new_start_time;
        	 		$insert1_end_time = $new_end_time;
        	 		$insert1_start_date = $new_start_date;
        	 		$insert1_end_date = $new_end_date;
        	 		$insert1_type = $new_type;   
			echo "(time) <<= or >=> <br>";
        	 		$action = B;
    	      }
      }
  //date between start and end
  elseif($new_start_date > $old_start_date && $new_end_date < $old_end_date)
    {
   			echo "(date)>< <br>";   	
	if($new_start_time == $old_start_time && $new_end_time == $old_end_time)
    	   {
         		$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end;
        		$update_type = $old_type;    
        	   
        		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
         	  
         		$insert2_start_time = $old_start_time;
        		$insert2_end_time = $old_end_time;
        		$insert2_start_date = $mod_start; 
        		$insert2_end_date = $old_end_date;
        		$insert2_type = $old_type;   
  			echo "(time)====  <br>";
         		$action = 3;
     	   }
    	 elseif($new_start_time > $old_start_time && $new_end_time == $old_end_time)
    	    {
         		$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end;
        		$update_type = $old_type;    
        	   
        		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
         	  
         		$insert2_start_time = $old_start_time;
        		$insert2_end_time = $new_start_time;
        		$insert2_start_date = $new_start_date;
        		$insert2_end_date = $new_end_date;
        		$insert2_type = $old_type;   

        		$insert3_start_time = $old_start_time; 
        		$insert3_end_time = $old_end_time;
        		$insert3_start_date = $mod_start;
        		$insert3_end_date = $old_end_date;
        		$insert3_type = $old_type;   
  			echo "(time) >== <br>";
         		$action = 4;
    	    }
    	  elseif($new_start_time == $old_start_time && $new_end_time < $old_end_time)
    	    {
        		$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end;
        		$update_type = $old_type;    
        	   
        		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
         	  
         		$insert2_start_time = $new_end_time;
        		$insert2_end_time = $old_end_time;
        		$insert2_start_date = $new_start_date;
        		$insert2_end_date = $new_end_date;
        		$insert2_type = $old_type;   

        		$insert3_start_time = $old_start_time; 
        		$insert3_end_time = $old_end_time;
        		$insert3_start_date = $mod_start;
        		$insert3_end_date = $old_end_date;
        		$insert3_type = $old_type;   
  			echo "(time) ==< <br>";
         		$action = 4;
  	      }
    	  elseif($new_start_time > $old_start_time && $new_end_time < $old_end_time)
    	    {
        		$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end;
        		$update_type = $old_type;    

         		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
        	   
        		$insert2_start_time = $old_start_time;
        		$insert2_end_time = $new_start_time;
        		$insert2_start_date = $new_start_date;
        		$insert2_end_date = $new_end_date;
        		$insert2_type = $old_type;   
  
        		$insert3_start_time = $new_end_time; 
        		$insert3_end_time = $old_end_time;
        		$insert3_start_date = $new_start_date; 
        		$insert3_end_date = $new_end_date;
        		$insert3_type = $old_type;   

        		$insert4_start_time = $old_start_time; 
         		$insert4_end_time = $old_end_time;
         		$insert4_start_date = $mod_start;
         		$insert4_end_date = $old_end_date;
         		$insert4_type = $old_type;   
		echo "(time) >< <br>";
         		$action = 5;
     	    }
    	  elseif($new_start_time < $old_start_time && $new_end_time > $old_end_time)
    	     {
       			$update_start_time = $old_start_time; 
        		$update_end_time = $old_end_time;
        		$update_start_date = $old_start_date;
        		$update_end_date = $mod_end;
        		$update_type = $old_type;    
        	   
          		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   

       			$insert2_start_time = $old_start_time; 
         		$insert2_end_time = $old_end_time;
         		$insert2_start_date = $mod_start;
         		$insert2_end_date = $old_end_date;
         		$insert2_type = $old_type;   
		echo "(time) <> <br>";
         		$action = 3;
   	       }
    	   elseif($new_start_time < $old_start_time && $new_end_time <= $old_end_time ||
	          $new_start_time >= $old_start_time && $new_end_time > $old_end_time)
    	     {
          		$insert1_start_time = $new_start_time;
        		$insert1_end_time = $new_end_time;
        		$insert1_start_date = $new_start_date;
        		$insert1_end_date = $new_end_date;
        		$insert1_type = $new_type;   
		echo "(time) <<= or >=> <br>";
          		$action = B;
    	     }
    }	
    
    
   //update existing event to be beginning date range
   if($action >= 1)
      {
   	//update existing entry (start)
   	$query = "UPDATE available 
    		  SET start_time = '$update_start_time', end_time = '$update_end_time',
    		      start_date = '$update_start_date', end_date = '$update_end_date',
    		      event_code = '$update_type',
                  WHERE time_id = '$time_id'";
        mysqli_query($mysqli, $query)or die(mysqli_error($mysqli));
      	echo"update <br>";
          		}
  //insert #1 beginning time range for same day
  if($action >= 2 || $action = "B")
    {
  	$query = "INSERT INTO available(
  			 time_id, start_time, end_time, start_date, end_date 
  			 event_type_code) 
    		  VALUES(
    			 null, '$insert1_start_time', '$insert1_end_time', 
    			 '$insert1_start_date', '$insert1_end_date', 
    			 '$insert1_type')";
      	mysqli_query($mysqli, $query)or die(mysqli_error($mysqli));
        echo"insert1 <br>";
    }
    //insert #2 middle time range for same day
    if($action >= 3)
    	{
    	   $query = "INSERT INTO available(
    	   		   time_id, start_time, end_time, start_date, 
    	   		   end_date, type_code) 
    	   	     VALUES(
    		 	   null, '$insert2_start_time', '$insert2_end_time', 
    		 	   '$insert2_start_date', '$insert2_end_date', 
    			   '$insert2_type')";
      	   mysqli_query($mysqli, $query)or die(mysqli_error($mysqli));
          echo"insert2 <br>";
    	}
    //insert #3 end time range for same day
    if($action >= 4)
    	{
    	  $query = "INSERT INTO available(
    	   	           time_id, start_time, end_time, start_date, 
    	   	           end_date, type_code) 
    	   	    VALUES(
    			  null, '$insert3_start_time', '$insert3_end_time', 
    			  '$insert3_start_date', '$insert3_end_date', 
    			  '$insert3_type')";
    	  mysqli_query($mysqli, $query)or die(mysqli_error($mysqli));
          echo"insert3 <br>";
    	}
    //insert #4 end date range   
    if($action == 5)
    	{
     	   $query = "INSERT INTO cal_provider_available(
    	   		    time_id, start_time, end_time, start_date, 
    	   		    end_date, type_code) 
    	   	     VALUES(
    			    null, '$insert4_start_time', '$insert4_end_time', 
    			    '$insert4_start_date', '$insert4_end_date', 
    			    '$insert4_type')";
    	   mysqli_query($mysqli, $query)or die(mysqli_error($mysqli));
          echo"insert4 <br>";
    	}
      
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.