Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод данных в виде расписания

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ruby_byru
Отправлено: 16 Декабря, 2011 - 20:06:37
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Здравствуйте.

Есть таблица с такими полями:
teacher | day | time | subject | class | week

teacher-преподаватель
day-день недели
time-время начала и конца пары
subject-предмет
class-аудитория
week-неделя(над чертой, под чертой или общая)


Необходимо вывести по заданному преподавателю расписание примерно в таком виде:

Нажмите для увеличения


Но еще должна быть учтена неделя, т.е, если над чертой, то нужная ячейка должна быть разделена на две половинки и в верхнюю занесен предмет с аудиторией и таким же образом под чертой, если общая,то так целую ячейку и оставить.

Собственно в этом и проблема, в реализации над/под чертой.
В PHP я новичок, поэтому не судите строго.

Вот код (здесь вывод таблицы, но не учтена неделя):
PHP:
скопировать код в буфер обмена
  1. $th = mysql_query("select * from timetable where name='$_POST[ListBox]';");
  2. if (mysql_numrows($th)!=0)
  3. {
  4.   if($th)
  5.   {  for ($i=0; $i<6; $i++)
  6.      for ($j=0; $j<6; $j++)
  7.      $arr[$i][$j]="";
  8.      while($teacher = mysql_fetch_array($th))
  9.     {
  10.       switch($teacher['day'])
  11.      {
  12.            case 'Пн': $j=0; break;
  13.        case 'Вт': $j=1; break;
  14.        case 'Ср': $j=2; break;
  15.        case 'Чт': $j=3; break;
  16.        case 'Пт': $j=4; break;
  17.        case 'Сб': $j=5; break;
  18.      }
  19.       switch($teacher['time'])
  20.      {
  21.            case '8.00-9.40': $i=0; break;
  22.        case '9.55-11.35': $i=1; break;
  23.        case '12.05-13.45': $i=2; break;
  24.        case '14.15-15.50': $i=3; break;
  25.        case '16.00-17.35': $i=4; break;
  26.        case '17.45-19.20': $i=5; break;
  27.      }
  28.  
  29.      $arr[$i][$j]=$teacher['subject'].' '.$teacher['class'];
  30.     }
  31.      echo "<table border=1>";
  32.      echo "<tr><td></td><td>Пн</td><td>Вт</td><td>Ср</td><td>Чт</td><td>Пт</td><td>Сб</td></tr>";
  33.      echo "<tr><td>8.00-9.40</td><td>".$arr[0][0]."</td><td>".$arr[0][1]."</td><td>".$arr[0][2]."</td><td>".$arr[0][3]."</td><td>".$arr[0][4]."</td><td>".$arr[0][5]."</td></tr>";
  34.      echo "<tr><td>9.55-11.35</td><td>".$arr[1][0]."</td><td>".$arr[1][1]."</td><td>".$arr[1][2]."</td><td>".$arr[1][3]."</td><td>".$arr[1][4]."</td><td>".$arr[1][5]."</td></tr>";
  35.      echo "<tr><td>12.05-13.45</td><td>".$arr[2][0]."</td><td>".$arr[2][1]."</td><td>".$arr[2][2]."</td><td>".$arr[2][3]."</td><td>".$arr[2][4]."</td><td>".$arr[2][5]."</td></tr>";
  36.      echo "<tr><td>14.15-15.50</td><td>".$arr[3][0]."</td><td>".$arr[3][1]."</td><td>".$arr[3][2]."</td><td>".$arr[3][3]."</td><td>".$arr[3][4]."</td><td>".$arr[3][5]."</td></tr>";
  37.      echo "<tr><td>16.00-17.35</td><td>".$arr[4][0]."</td><td>".$arr[4][1]."</td><td>".$arr[4][2]."</td><td>".$arr[4][3]."</td><td>".$arr[4][4]."</td><td>".$arr[4][5]."</td></tr>";
  38.      echo "<tr><td>17.45-19.20</td><td>".$arr[5][0]."</td><td>".$arr[5][2]."</td><td>".$arr[5][2]."</td><td>".$arr[5][3]."</td><td>".$arr[5][4]."</td><td>".$arr[5][5]."</td></tr>";
  39.      echo "</table>";
  40.   }
  41. else
  42. {
  43.   echo "<p><b>Error: ".mysql_error()."</b><p>";
  44. }
  45. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB