Прошу помочь в ситуации.
Пишу страничку для внесения информации о графиках сотрудника.
Количество таблиц зависит от количества секторов, на которых зарегистрированы сотрудники.
Количество записей каждой таблицы соответствует количеству сотрудников сектора.
Количество столбцов таблицы зависит от месяца, т.е. сколько дней, столько столбцов.
На странице в всплывающем окне заносится информация по конкретному дню, передается в обработчик с помощью AJAX, данные записываются в БД (тут проблем нет), проблема в том, что необходимо каждый раз при обновлении страницы, в зависимости от выбранных параметров раскрашивать определенным цветом ячейку таблицы, т.е. у меня к td с классом .day должно добавляться ид в формате: ТАБЕЛЬНЫЙ_НОМЕР_ГОД_МЕСЯЦ_ДАТА и потом по конкретному ид, который содержит нужное мне значение я буду раскрашивать ячейки с помощью JQuery.
Прошу помочь в решении проблемы.
Код динамической отрисовки таблиц:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- //Выбор всех операторов, сортировка по рабочему сектору
- $sql = "SELECT t1.tabNo, t1.sector, t2.otdelname, t1.name, t3.date, t3.cause
- FROM operators as t1
- JOIN otdel as t2 on t1.napravlenie = t2.id
- LEFT JOIN day_detail as t3 on t1.tabNo= t3.tabNo
- WHERE rol = '1'
- AND admin = 0
- ORDER BY sector, name ASC
- ";
- //Результат выполнения загоняем в массив peopInfo
- $i=0;
- $j=0;
- $sector1 = -1;
- $cols = $countDay; // количество столбцов, td - Определяется динамически, зависит от месяца (сколько дней, столько столбцов)
- {
- //массив peopleInfo содержит данные: табельный номер оператора, имя оператора, № сектора, имя сектора, дату по которой вносится информация, причину изменения записи
- $peopleInfo[$i]['tabNo'] = $auxiliaryArr['tabNo'];
- $peopleInfo[$i]['name'] = $auxiliaryArr['name'];
- $peopleInfo[$i]['sector'] = $auxiliaryArr['sector'];
- $peopleInfo[$i]['otdel'] = $auxiliaryArr['otdel'];
- $peopleInfo[$i]['date'] = $auxiliaryArr['date'];
- $peopleInfo[$i]['cause'] = $auxiliaryArr['cause'];
- if ($auxiliaryArr['sector'] != $sector1)
- {
- if ($i!=0)
- {
- echo '</table>';
- }
- echo '<table class = "tableEmployee" ; <colgroup> <col width = "400px"; > </colgroup>';
- echo "<br>";
- echo '<caption id="sector";> '.$peopleInfo[$j]['otdel'].' </caption>';
- echo '<tr>
- <td id="fio"; rowspan = "2";> ФИО </td>
- <td id="tabNo"; rowspan="2";> Табельный номер </td>
- <td id="day"; colspan="31"; style="background:#fffff";> Дата </td>
- </tr>';
- //Выводим в таблицу строку с датой (прим.: 01, 02, 03)
- $d = 1; //Нумерация дня с 1-го числа каждого месяца
- while ($d <= $countDay):
- $dateArr[$d]['day'] = $d;
- $sector1= $auxiliaryArr['sector']; //присвоение "пустой" переменной значения id сектора из массива $auxiliaryArr
- $d++;
- endwhile;
- //цикл динамичной отрисовки таблиц
- }
- echo "<tr>";
- for ($td=1;$td<$cols+2;$td++)
- {
- if($td == 1)
- {
- echo "<th class='fio'; title='Внести информацию по сотруднику'>".$peopleInfo[$j]['name']."</th>";
- } else
- {
- }
- }
- echo "</tr>";
- $i++;
- $j++;
- }
- echo "</table>";