Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Автор: Колпаков Владимир aka Al'Ninyo
- * под чутким руководством Ренева Александра
- * По всем вопросам пишите kolpakovvu@gmail.com
- * VK: https://vk.com/kolpakovvu
- * FB: https://www.facebook.com/vlkolpakov
- * Специально для ДНТЦ "Юный техник", г. Псков
- * 2017 год
- */
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
- <html>
- <head>
- <title>Добавление занятий</title>
- <?php
- require_once("meta.php");
- ?>
- </head>
- <body>
- <?php
- require_once("config.php");
- require_once("menu.php");
- $conn = new mysqli($DB['DB_host'], $DB['DB_user'], $DB['DB_pass'], $DB['DB_base']);
- if (mysqli_connect_errno()) {
- printf("Не удалось подключиться: %s\n", mysqli_connect_error());
- exit();
- }
- $yes = 0;
- print_r($_POST);
- echo "<form action='' method='post'>
- <table>
- <tr>
- <td>Группа</td>
- <td><select size='1' name='gid'>";
- $grpsl = $conn->prepare("SELECT * FROM groups");
- if (!$grpsl) {
- echo "prepare grpsl error";
- exit;
- }
- if (!$grpsl->execute()) {
- echo "execute error";
- exit;
- }
- $result = $grpsl->get_result();
- if (!$result) {
- echo "get result failed";
- exit;
- }
- while ($row = $result->fetch_assoc()) {
- if($row[gid] == $_POST[gid]) {
- echo "<option value='$row[gid]' selected='selected'>$row[g_name]</option>";
- }
- else {
- echo "<option value='$row[gid]'>$row[g_name]</option>";
- }
- }
- echo "</select></td>
- </tr>
- <tr>
- <td>Начало периода</td>
- <td><input type='text' name='start_date' class='date-select'></td>
- </tr>
- <tr>
- <td>Конец периода</td>
- <td><input type='text' name='end_date' class='date-select'></td>
- </tr>
- <tr>
- <td colspan='2'> <input type='submit' value='OK'></td>
- </tr>
- </table>
- </form>";
- if (isset($_POST[gid])) {
- $start_date = date('Y-m-d' ,strtotime($_POST['start_date']));
- $end_date = date('Y-m-d' ,strtotime($_POST['end_date']));
- $chkgr = $conn->prepare('SELECT COUNT(*) as Cless FROM `lessons` WHERE gid = ? AND lesson_date BETWEEN ? AND ?');
- if (!$chkgr) {
- echo "prepare chkgr error";
- exit;
- }
- $gID = $_POST["gid"];
- // echo "<p>SELECT COUNT(*) as Cless FROM `lessons` WHERE gid = $gID AND lesson_date BETWEEN $start_date AND $end_date</p>";
- if (!$chkgr->bind_param("dss", $gID, $start_date, $end_date)) {
- echo "bind error: ".$conn->errno;
- }
- if (!$chkgr->execute()) {
- echo "execute error";
- exit;
- }
- $resultChk = $chkgr->get_result();
- if (!$resultChk) {
- echo "get result failed";
- exit;
- }
- $rowChk = $resultChk->fetch_assoc();
- if($_POST[yes] !='') {
- $yes = $_POST[yes];
- }
- echo "<p>CHECK = $rowChk[Cless]</p>";
- if ($rowChk[Cless] != 0 && $yes == 0 && ($start_date !='1970-01-01' && $end_date !='1970-01-01')) {
- echo "<h2>Для этой группы уже были сформированы занятия ($rowChk[Cless]) на данный период! Вы уверены, что хотите продолжить? Данные могут быть перезаписаны!</h2>
- <p>CHECK = $rowChk[Cless]</p>
- <p>start_date = $start_date</p>
- <p>end_date = $end_date</p>
- <p><form action='' method='post'>
- <input type='hidden' name='gid' value='$gID'>
- <input type='hidden' name='start_date' value='$start_date'>
- <input type='hidden' name='end_date' value='$end_date'>
- <input type='hidden' name='yes' value='1'>
- <input type='submit' value='ВСЁ ПОНИМАЮ, ПОЕХАЛИ!'>
- </form></p>";
- }
- if (($rowChk[Cless] == 0 || ($rowChk[Cless] != 0 && $_POST[yes] == 1)) && ($start_date !='1970-01-01' && $end_date !='1970-01-01')) {
- echo "<p>Сейчас данные были бы внесены в таблицу и могли там всё порушить :)</p>
- <p>CHECK = $rowChk[Cless]</p>
- <p>start_date = $start_date</p>
- <p>end_date = $end_date</p>";
- $timetables = array();
- $timeSel = $conn->prepare('SELECT * FROM `timetable` WHERE gid = ? ORDER BY timeid');
- if (!$timeSel) {
- echo $conn->error;
- exit;
- }
- echo "<p>conn->prepare('SELECT * FROM `timetable` WHERE gid = ? ORDER BY timeid');</p>";
- if (!$timeSel->bind_param("d", $gID)) {
- echo "bind error: ".$conn->errno;
- }
- echo "<p>bind_param('d', $gID)</p>";
- while ($row = $timeSel->fetch_assoc()) {
- echo "<p>row - $row</p>";
- $timetables[] = $row;
- }
- echo "<p>$timetables Начинаем 1</p>";
- $timeSel->close();
- echo "<p>Начинаем считать</p>";
- for ($start = strtotime($start_date); $start < strtotime($end_date); $start += 86400) {
- $current_day = getdate($start['wday']);
- foreach ($timetables as $item) {
- $day = $item['day'];
- if ($day == $current_day['wday']) {
- $current_group = $gID;
- $lesson_date = date('Y-m-d', $start);
- echo "INSERT INTO `lessons` (`gid`, `lesson_date`, `fact`) VALUES ( '$item[gid]', '$lesson_date', '1');<br/>";
- }
- }
- }
- echo "<p>Закончили считать</p>";
- }
- if ($start_date =='1970-01-01') {
- echo "<h2>Выберите дату начала формирования занятий!</h2>";
- }
- if ($end_date =='1970-01-01') {
- echo "<h2>Выберите дату окончания формирования занятий!</h2>";
- }
- }
- echo "<p>YES = $yes</p>";
- /*
- $groups = array();
- $timetables = array();
- // echo "Строка 20<br />";
- $result = $conn->query('SELECT * FROM `groups` order by gid');
- if (!$result) {
- echo $conn->error;
- exit;
- }
- // echo "Строка 27<br />";
- while ($row = $result->fetch_assoc()) {
- $groups[$row['gid']] = $row;
- }
- $result->close();
- // echo "Строка 32<br />";
- $result = $conn->query('SELECT * FROM `timetable` order by timeid');
- if (!$result) {
- echo $conn->error;
- exit;
- }
- // echo "Строка 38<br />";
- while ($row = $result->fetch_assoc()) {
- $timetables[] = $row;
- }
- $result->close();
- // echo "Строка 43<br />";
- for ($start = strtotime('01-09-2016'); $start < strtotime('31-05-2017'); $start += 86400) {
- $current_day = getdate($start['wday']);
- // echo "Строка 47<br />";
- foreach ($timetables as $item) {
- $day = $item['day'];
- // echo "Строка 51<br />";
- if ($day == $current_day['wday']) {
- // echo "Строка 53<br />";
- $current_group = $groups[$item['gid']];
- $lesson_date = date('Y-m-d', $start);
- echo "INSERT INTO `lessons` (`gid`, `lesson_date`, `fact`) VALUES ( '$item[gid]', '$lesson_date', '1');<br/>";
- // echo "Строка 56<br />";
- }
- }
- }
- */
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement