Advertisement
Al_Ninyo

temp

Apr 27th, 2017
627
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.93 KB | None | 0 0
  1. <?php
  2. /*
  3. *   Автор: Колпаков Владимир aka Al'Ninyo
  4. *   под чутким руководством Ренева Александра
  5. *   По всем вопросам пишите kolpakovvu@gmail.com
  6. *   VK: https://vk.com/kolpakovvu
  7. *   FB: https://www.facebook.com/vlkolpakov
  8. *   Специально для ДНТЦ "Юный техник", г. Псков
  9. *   2017 год
  10. */
  11. ?>
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  13. <html>
  14. <head>
  15. <title>Добавление занятий</title>
  16. <?php
  17.     require_once("meta.php");
  18. ?>
  19. </head>
  20. <body>
  21. <?php
  22.     require_once("config.php");
  23.     require_once("menu.php");
  24.  
  25. $conn = new mysqli($DB['DB_host'], $DB['DB_user'], $DB['DB_pass'], $DB['DB_base']);
  26. if (mysqli_connect_errno()) {
  27.     printf("Не удалось подключиться: %s\n", mysqli_connect_error());
  28.     exit();
  29. }
  30.  
  31. $yes = 0;
  32.  
  33. print_r($_POST);
  34. echo "<form action='' method='post'>
  35.         <table>
  36.             <tr>
  37.                 <td>Группа</td>
  38.                 <td><select size='1' name='gid'>";
  39.                     $grpsl = $conn->prepare("SELECT * FROM groups");
  40.                     if (!$grpsl) {
  41.                         echo "prepare grpsl error";
  42.                         exit;
  43.                     }
  44.                     if (!$grpsl->execute()) {
  45.                         echo "execute error";
  46.                         exit;
  47.                     }
  48.                     $result = $grpsl->get_result();
  49.                     if (!$result) {
  50.                         echo "get result failed";
  51.                         exit;
  52.                     }
  53.                     while ($row = $result->fetch_assoc()) {
  54.                             if($row[gid] == $_POST[gid]) {
  55.                                 echo "<option value='$row[gid]' selected='selected'>$row[g_name]</option>";
  56.                             }
  57.                             else {
  58.                                 echo "<option value='$row[gid]'>$row[g_name]</option>";
  59.                             }
  60.                     }
  61.             echo "</select></td>
  62.             </tr>
  63.             <tr>
  64.                 <td>Начало периода</td>
  65.                 <td><input type='text' name='start_date' class='date-select'></td>
  66.             </tr>
  67.             <tr>
  68.                 <td>Конец периода</td>
  69.                 <td><input type='text' name='end_date' class='date-select'></td>
  70.             </tr>
  71.             <tr>
  72.                 <td colspan='2'> <input type='submit' value='OK'></td>
  73.             </tr>
  74.         </table>
  75.     </form>";
  76. if (isset($_POST[gid])) {
  77.     $start_date = date('Y-m-d' ,strtotime($_POST['start_date']));
  78.     $end_date = date('Y-m-d' ,strtotime($_POST['end_date']));
  79.  
  80.     $chkgr = $conn->prepare('SELECT COUNT(*) as Cless FROM `lessons` WHERE gid = ? AND lesson_date BETWEEN ? AND ?');
  81.     if (!$chkgr) {
  82.         echo "prepare chkgr error";
  83.         exit;
  84.     }
  85.     $gID = $_POST["gid"];
  86. //  echo "<p>SELECT COUNT(*) as Cless FROM `lessons` WHERE gid = $gID AND lesson_date BETWEEN $start_date AND $end_date</p>";
  87.     if (!$chkgr->bind_param("dss", $gID, $start_date, $end_date)) {
  88.         echo "bind error: ".$conn->errno;
  89.     }
  90.     if (!$chkgr->execute()) {
  91.         echo "execute error";
  92.         exit;
  93.     }
  94.     $resultChk = $chkgr->get_result();
  95.     if (!$resultChk) {
  96.         echo "get result failed";
  97.         exit;
  98.     }
  99.     $rowChk = $resultChk->fetch_assoc();
  100.     if($_POST[yes] !='') {
  101.         $yes = $_POST[yes];
  102.     }
  103.     echo "<p>CHECK = $rowChk[Cless]</p>";
  104.     if ($rowChk[Cless] != 0 && $yes == 0 && ($start_date !='1970-01-01' && $end_date !='1970-01-01')) {
  105.         echo "<h2>Для этой группы уже были сформированы занятия ($rowChk[Cless]) на данный период! Вы уверены, что хотите продолжить? Данные могут быть перезаписаны!</h2>
  106.         <p>CHECK = $rowChk[Cless]</p>
  107.         <p>start_date = $start_date</p>
  108.         <p>end_date = $end_date</p>
  109.         <p><form action='' method='post'>
  110.             <input type='hidden' name='gid' value='$gID'>
  111.             <input type='hidden' name='start_date' value='$start_date'>
  112.             <input type='hidden' name='end_date' value='$end_date'>
  113.             <input type='hidden' name='yes' value='1'>
  114.             <input type='submit' value='ВСЁ ПОНИМАЮ, ПОЕХАЛИ!'>
  115.         </form></p>";
  116.     }
  117.     if (($rowChk[Cless] == 0 || ($rowChk[Cless] != 0 && $_POST[yes] == 1)) && ($start_date !='1970-01-01' && $end_date !='1970-01-01')) {
  118.         echo "<p>Сейчас данные были бы внесены в таблицу и могли там всё порушить :)</p>
  119.         <p>CHECK = $rowChk[Cless]</p>
  120.         <p>start_date = $start_date</p>
  121.         <p>end_date = $end_date</p>";
  122.        
  123.         $timetables = array();
  124.         $timeSel = $conn->prepare('SELECT * FROM `timetable` WHERE gid = ? ORDER BY timeid');
  125.         if (!$timeSel) {
  126.             echo $conn->error;
  127.             exit;
  128.         }
  129.         echo "<p>conn->prepare('SELECT * FROM `timetable` WHERE gid = ? ORDER BY timeid');</p>";
  130.         if (!$timeSel->bind_param("d", $gID)) {
  131.             echo "bind error: ".$conn->errno;
  132.         }
  133.         echo "<p>bind_param('d', $gID)</p>";
  134.         while ($row = $timeSel->fetch_assoc()) {
  135.             echo "<p>row - $row</p>";
  136.             $timetables[] = $row;
  137.         }
  138.         echo "<p>$timetables Начинаем 1</p>";
  139.         $timeSel->close();
  140.         echo "<p>Начинаем считать</p>";
  141.         for ($start = strtotime($start_date); $start < strtotime($end_date); $start += 86400) {
  142.         $current_day = getdate($start['wday']);
  143.         foreach ($timetables as $item) {
  144.             $day = $item['day'];
  145.             if ($day == $current_day['wday']) {
  146.                 $current_group = $gID;
  147.                 $lesson_date = date('Y-m-d', $start);
  148.                 echo "INSERT INTO `lessons` (`gid`, `lesson_date`, `fact`) VALUES ( '$item[gid]', '$lesson_date', '1');<br/>";
  149.                 }
  150.             }
  151.         }
  152.         echo "<p>Закончили считать</p>";
  153.     }
  154.     if ($start_date =='1970-01-01') {
  155.         echo "<h2>Выберите дату начала формирования занятий!</h2>";
  156.     }
  157.     if ($end_date =='1970-01-01') {
  158.         echo "<h2>Выберите дату окончания формирования занятий!</h2>";
  159.     }
  160. }
  161. echo "<p>YES = $yes</p>";
  162.  
  163. /*     
  164.     $groups = array();
  165.     $timetables = array();
  166.  
  167. // echo "Строка 20<br />";
  168.  
  169.     $result = $conn->query('SELECT * FROM `groups` order by gid');
  170.     if (!$result) {
  171.         echo $conn->error;
  172.         exit;
  173.     }
  174. // echo "Строка 27<br />";
  175.     while ($row = $result->fetch_assoc()) {
  176.         $groups[$row['gid']] = $row;
  177.     }
  178.     $result->close();
  179. // echo "Строка 32<br />";  
  180.     $result = $conn->query('SELECT * FROM `timetable` order by timeid');
  181.     if (!$result) {
  182.         echo $conn->error;
  183.         exit;
  184.     }
  185. // echo "Строка 38<br />";
  186.     while ($row = $result->fetch_assoc()) {
  187.         $timetables[] = $row;
  188.     }
  189.     $result->close();
  190. // echo "Строка 43<br />";
  191.    for ($start = strtotime('01-09-2016'); $start < strtotime('31-05-2017'); $start += 86400) {
  192.         $current_day = getdate($start['wday']);
  193. // echo "Строка 47<br />";
  194.         foreach ($timetables as $item) {
  195.             $day = $item['day'];
  196. // echo "Строка 51<br />";
  197.             if ($day == $current_day['wday']) {
  198. //              echo "Строка 53<br />";
  199.                 $current_group = $groups[$item['gid']];
  200.                 $lesson_date = date('Y-m-d', $start);
  201.                 echo "INSERT INTO `lessons` (`gid`, `lesson_date`, `fact`) VALUES ( '$item[gid]', '$lesson_date', '1');<br/>";
  202. //               echo "Строка 56<br />";
  203.             }
  204.         }
  205.     }
  206. */
  207. ?>
  208. </body>
  209. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement