Правильное оформление информации выбранной из БД

realovich

Новичок
Правильное оформление информации выбранной из БД

Опишу ситуацию:
Есть таблица БД следующего вида:
PHP:
date     | name        | category               | subcategory
------------------------------------------------------------------------------------------------
01.10.07 | Иванов И.   | Дежурство на проходной | Дежурство на проходной. Ответственный (Утро)
01.10.07 | Сидоров С.  | Дежурство на проходной | Дежурство на проходной. Помощник (Утро)
01.10.07 | Петров П.   | Дежурство на проходной | Дежурство на проходной. Ответственный (Вечер)
01.10.07 | Максимов М. | Дежурство на проходной | Дежурство на проходной. Помощник (Вечер)
Каждой категории и подкатегории присвоен свой ID.
Информация средствами php попадает в календарь, в определённую ячейку дня недели, в данном случае 1 октября 2007 года. Календарь уже есть.
Нужно только оформить вид ячейки с информацией. Но выводить название категории или подкатегории не очень удобно, да и не нужно в некоторых случаях, так как название категории попадает в заголовок над календарём.
Нужно, чтобы в ячейке появлялась примерно следующая информация:

Утро (8:00 - 12:00)
Иванов И.
Сидоров С.
Вечер (13:00 - 17:00)
Петров П.
Максимов М.

Естественно первая фамилия сама по себе означает что это ответственный...
Помогите оформить такой вывод... Я новичок в php, поэтому сильно не бейте, если вопрос глупый. Очень надеюсь, что поможете...
Заранее благодарен!
 

zerkms

TDD infected
Команда форума
тебе не вывод надо оформлять, а базу перекраивать
и время суток - хранить отдельным полем, а ответственного помечать специальным флажком
 

Sufir

Я не волшебник, я только учусь
Да, таблица ни к черту... Почитай немного о базах данных и о MySQL в частности.

Пример.
date TIMESTAMP
name VARCHAR
category INT
subcategory INT

Время суток (утро/вечер) можно хранить в date, либо, лучше, в отдельном поле (в зависимочти от необходимости).
PHP:
date             | name         | category | subcategory 
------------------------------------------------------------------------------------------------ 
2007-10-01 08:00 | Иванов И.    | 1           | 1
2007-10-01 08:00 | Сидоров С.   | 1           | 2
2007-10-01 13:00 | Петров П.    | 1           | 1
2007-10-01 13:00 | Максимов М.  | 1           | 2
А такие данные как "Дежурство на проходной", "Ответственный", "Утро" храни в отдельной таблице, xml-файле или массивах - в зависимости от объемов и необходимости.
Где будет

category 1 - Дежурство на проходной

subcategory 1 - Ответственный
2 - Помощник
 

realovich

Новичок
Sufir
Это хороший вариант, но таблицу менять я не могу, так как она была сделана не для веб-приложения вовсе... То есть, мне нужно что-то сделать из того что есть, без внесения изменений в таблицу...
Но все равно спасибо!
 

Фанат

oncle terrible
Команда форума
realovich
ну ты смешной человек.
а если тебе велят сделать из машины скорой помощи космический корабль?
Раз делалась таблица совсем для другого, то пусть и имеют то, что делалось.
я думаю, никто не умрет, если вывод будет немного другого вида, чем у тебя написано
 

realovich

Новичок
Автор оригинала: *****
realovich
ну ты смешной человек.
а если тебе велят сделать из машины скорой помощи космический корабль?
Раз делалась таблица совсем для другого, то пусть и имеют то, что делалось.
я думаю, никто не умрет, если вывод будет немного другого вида, чем у тебя написано
Мне просто сказали, что с помощью php можно все аккуратно привести в желаемый вид, вот я и спрашиваю совета у профессионалов....
Помогите пожалуйста...
 

Фанат

oncle terrible
Команда форума
охохох.
то есть, тебе не хватает знаний, чтобы взять 4 строки из базы данных, и сравнивая поле subcategory с заранее введенными в скрипт образцами, вывести 4 фамилии в столбик?

ты хотя бы получить всех дажуривших на определенную дату получить можешь?
 

realovich

Новичок
Автор оригинала: *****
ты хотя бы получить всех дежуривших на определённую дату получить можешь?
Естественно могу... С этим я давно разобрался...
Вывожу только с под-категориями, вот таким макаром:
Дежурство на проходной. Ответственный (Утро)
Иванов И.
Дежурство на проходной. Помощник (Утро)
Сидоров С.
Дежурство на проходной. Ответственный (Вечер)
Петров П.
Дежурство на проходной. Помощник (Вечер)
Максимов М.

То есть, в нужной мне ячейке в календаре появляется этот список. В принципе не плохо уже, но как то загромождено...
Еще можно учесть, что над календарем я вывожу КАТЕГОРИЮ дежурства, то есть "Дежурство на проходной", значит мне можно не выводить снова почти одно и тоже, нужно чтобы было вот так в ячейке календаря на определенный день:
Утро
Иванов И.
Сидоров С.
Вечер
Петров П.
Максимов М.

2Sufir
Каждой категории и подкатегории присвоен свой ID.
 

Фанат

oncle terrible
Команда форума
а зачем ты выводишь подкатегорию-то, если она тебе не нужна?
 

realovich

Новичок
*****
Потому что в подкатегории есть информация о том что это ответственный и что дежурство будет например утром...
 

Фанат

oncle terrible
Команда форума
ну слово-то "Утро" ты можешь сам намисать?
просто перед тем, как выводить фамилии?
 

Фанат

oncle terrible
Команда форума
а раньше тебя сортировка не беспокоила?
при получении данных из базы записываешь их в массив.
пишешь 4 условия, вида
if ($row['subcategory']=="Дежурство на проходной. Ответственный (Утро)") $out[1]=$row['name'];
вот и получится у тебя массив, отсортированный в нужном порядке.
дальше ты можешь написать утро и вывести массив?
а досчитав до двух при этом выводе - написать еще и вечер?
 

realovich

Новичок
*****
вот это интересно! Спасибо большое! Сегодня попробую с массивами поиграть... отпишусь... Еще раз спасибо!

-~{}~ 23.10.07 12:25:

*****
Это вроде работает, только вот у меня этих подкатегорий, добрых 4 десятка...
Может есть какие-нибудь еще предложения...???
 
Сверху