![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
NFL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
Суть следующая. Есть таблица в БД MySQL.
Структура такая: id|predmet|predmet_id|surname|name|type_of_mark|klass|mark|teacher_who_posted|post_date (таблица для школьного онлайн-дневника) Описание полей: id - айди записи, автоинкрементное predmet - название предмета на русском (украинском) predmet_id - идентификатор предмета, не важно зачем surname - фамилия ученика name - имя ученика type_of_mark - тип оценки (контрольная/тематическая/текущая/... и тд) klass - класс, в котором учится ученик mark - оценка ученика по данному предмету (predmet) teacher_who_posted - фамилия учителя post_date - дата выставления оценки Есть запрос:
Выбираем все оценки за неделю для определенного класса (переменные $klass/$pred передаются методом "раком", но это не важно, все работает ![]() Задача в следующем: нужно воспроизвести страницу классного журнала: Фамилия, Имя |дата1|дата2|дата3|дата4|...| Фамилия1 Имя1 оц оц оц оц Фамилия2 имя2 оц оц оц оц ФамилияН ИмяН оц оц оц оц (оц - оценка этого ученика за определенную дату, если ученика не было на уроке - будет введена оценка "0", если есть 0 - вывести в клетке значение "н", если оценки 0 нет, и вообще оценки нет, то вывести просто пустую клетку) Не могу понять, как вывести такую таблицу? Кому не влом, помогите, а? А то я скоро ![]() |
|||
|
||||
v00d00 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.12.2005 Репутация: нет Всего: нет |
То что вы хотите сделать называется перекрестный запрос.
Я могу ошибаться, но вроде MySQL не поддерживает встроенных механизмов для создания таких запросов. Однако, вот пример по вашей теме http://en.wikibooks.org/wiki/MySQL/Pivot_table И вот еще http://dev.mysql.com/tech-resources/articl...nt_version.html Добавлено через 13 минут и 46 секунд Возможно в вашем случае сначала придется генерировать текст запроса средствами PHP чтобы вывести информацию для нужных дат или, как вариант, написать хранимую процедуру с параметром (дата) и передавать в неё текущую дату |
|||
|
||||
NFL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
Тааак... Покурил мануал...
Ну в принципе очень похоже... Здесь мы выбираем имя, это понятно... 1-abs(), это тоже понятно.... Но что такое sign(exam-1)? |
|||
|
||||
NFL |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
Практически написал. осталась одна заморочка...
последний вопрос: как вместо echo str_repeat("<td>X</td>",sizeof($v)); выводить соответствующую дату? ее тоже закидывать в массив $arr и потом в foreach впихивать? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |