prepare("SELECT * FROM judges_timeslots WHERE year='$year'"); $q->execute(); $round = array(); while($r = $q->fetch(PDO::FETCH_ASSOC)) { $type = $r['type']; if(!array_key_exists($type, $round)) { $round[$type]['starttime'] = $r['starttime']; $round[$type]['endtime'] = $r['endtime']; $round[$type]['date'] = $r['date']; } if($r['starttime'] < $round[$type]['starttime'] ) { $round[$type]['starttime'] = $r['starttime']; } if($r['endtime'] > $round[$type]['endtime']) { $round[$type]['endtime'] = $r['endtime']; } } foreach($round as $type=>$d) { $stmt = $pdo->prepare("INSERT INTO judges_timeslots (round_id,type,date,starttime,endtime,year) VALUES ('0','$type','{$d['date']}','{$d['starttime']}','{$d['endtime']}','$year')"); $stmt->execute(); $round_id = $pdo->lastInsertId(); $stmt = $pdo->prepare("UPDATE judges_timeslots SET round_id='$round_id', type='timeslot' WHERE type='$type' AND year='$year'"); $stmt->execute(); /* Undo the set we just did to the round we just inserted */ $stmt = $pdo->prepare("UPDATE judges_timeslots SET round_id='0',type='$type' WHERE id='$round_id'"); $stmt->execute(); } } ?>