assgar Posted February 9, 2008 Share Posted February 9, 2008 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 More sharing options...
assgar Posted February 23, 2008 Author Share Posted February 23, 2008 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 } ?> Link to comment https://forums.phpfreaks.com/topic/90256-editing-appointment-info-in-data-table/#findComment-474644 Share on other sites More sharing options...
Barand Posted February 23, 2008 Share Posted February 23, 2008 <?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); ?> Link to comment https://forums.phpfreaks.com/topic/90256-editing-appointment-info-in-data-table/#findComment-474761 Share on other sites More sharing options...
assgar Posted March 20, 2008 Author Share Posted March 20, 2008 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>"; } ?> Link to comment https://forums.phpfreaks.com/topic/90256-editing-appointment-info-in-data-table/#findComment-496523 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.