Witajcie,

Na początku chciałbym zaznaczyć, że słabo znam PHP.

Posiadam generator harmonogramu, z tym że jest on mało funkcjonalny, chciałbym mieć:
1. możliwość nadania ilości grup w polu input poprzez wpisanie liczby (obecnie jest na sztywno 5 grup),
2. wyboru drugiego dnia cyklu poprzez wpisanie daty(teraz są to tylko Wtorki, a ja bym chciał mieć możliwość zmiany tego dnia na inny, np. środa, czwartek, itp.), - interwał obliczany może być poprzez odejmowanie wybranej daty od daty wcześniejszej niedzieli questionmark.gif
3. wyboru która grupa startuje harmonogram - połączone z pierwszą funkcjonalnością nadawania ilości grup (teraz nie ma takiej funkcjonalności)

Obecnie używam poniższego kodu, pomożecie mi go zmienić, aby działało tak jak potrzebuję? thumbsupsmileyanim.gif
  1. <form action="" method="post">
  2. <div class="form-group">
  3. <label for="data">Data Wydarzenia</label>
  4. <input type="text" placeholder="Wybierz datę Wydarzenia" class="form-control" id="data" name="data" value="<?php echo $first;?>">
  5. </div>
  6. <button type="submit" name="submit" class="btn btn-success">Stwórz harmonogram</button>
  7. </form>
  8.  
  9. <?php
  10. mysql_query("SET lc_time_names = 'pl_PL'");
  11. $res = mysql_query("SELECT *, DATE_FORMAT(data, '%e %M %Y') AS data_pl FROM harmonogram ORDER BY data ASC")
  12. or die(mysql_error());
  13.  
  14. echo '<div class="col-md-4">';
  15. // pętla do wyświetlania elementów z tabeli $result_date
  16. while($row = mysql_fetch_array( $res )) {
  17.  
  18. echo $row['grupa'] . " " . $row['dzien'] . " " . $row['data_pl'] . '<br>';
  19. }
  20.  
  21. echo '</div>';
  22.  
  23. if (isset($_POST['submit'])){
  24.  
  25. $data = mysql_real_escape_string(htmlspecialchars($_POST['data']));
  26.  
  27. // jeśli pola puste, zwraca błąd i generuje formularz ponownie
  28. if ($data == ''){
  29.  
  30. $error = 'Błąd: Wszystkie pola muszą być wypełnione.';
  31. renderForm($data, $error);
  32. }
  33.  
  34. else{
  35.  
  36. if (isset($_SESSION['edytor'])) {
  37.  
  38. $ctime = strtotime($data); // data początkowa
  39. $end = strtotime('+1 year', $ctime); //data końcowa
  40.  
  41. $intervals = array(5, 2); // co ile dni przeskakiwać
  42. $intervals_elems = count($intervals);
  43.  
  44. $cstep = 0;
  45. $events = array(
  46. '<a href="#2">Grupa 2</a>',
  47. '<a href="#3">Grupa 3</a>',
  48. '<a href="#4">Grupa 4</a>',
  49. '<a href="#5">Grupa 5</a>',
  50. '<a href="#1">Grupa 1</a>'
  51. );
  52.  
  53. $event_elems = count($events);
  54.  
  55. $day = array('Niedziela ', 'Wtorek ');
  56. $day_elems = count($day);
  57.  
  58.  
  59. mysql_query('TRUNCATE TABLE harmonogram;');
  60.  
  61. $tmp = $ctime;
  62. $data1 = date('Y-m-d', $ctime);
  63. $grupa1 = '<a href="#1">Grupa 1</a>';
  64.  
  65. mysql_query("INSERT INTO harmonogram SET grupa = '$grupa1', dzien = 'Wtorek', data = '$data1'")
  66.  
  67. do {
  68.  
  69. $tmp = strtotime('+'.$intervals[$cstep%$intervals_elems].' days', $tmp);
  70. $grupa = $events[$cstep%$event_elems];
  71. $dzien = $day[$cstep%$day_elems];
  72. $data2 = date('Y-m-d', $tmp);
  73. $cstep++;
  74.  
  75. mysql_query("INSERT INTO harmonogram SET grupa = '$grupa', dzien = '$dzien', data = '$data2'")
  76. or die(mysql_error());
  77.  
  78. } while ($tmp < $end);