|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
Здравствуйте, я впервые у вас на форуме! Может ли тут мне кто-то подсказать, как вывести таблицу расписания в броузер? Вот такая табличка в MySql: shedule: user_id day_ enum('Monday','Tuesday',...) hour_ enum('8-10','10-12','12-14','14-16','16-18') duty char(1) //0-busy,1-free Как составить запрос к серверу, чтоб получить таблицу, которую можно вывести в броузер? Спасибочки! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2003, 14:09 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
Вот такую примерно: Mon Tue ... 8-10 1 0 10-12 1 1 ... 12-14 14-16 16-18 ........... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2003, 14:17 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
Или нужно изменить структуру таблицы? Подскажите, пожалуйста! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2003, 14:31 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
эххх... структуру таблиц другую бы. отдельно - таблица где все дни недели - dayofweek отдельно таблица пар - pair и наконец таблица duty duty ==== dowid pairid free а потом два вложенных цыкла: первый идет по парам Код: plaintext
а для каждой пары выполняем запрос и организуем цыкл по его результатам Код: plaintext 1. 2. 3. 4. 5.
и на каждое вхождение в цыкле делаем Код: plaintext
Для красоты первый раз вместо free выводим название дня недели, а тоьлко потом начианем внешний цикл по парам, а также перед тем как делать второй (вложенный) цыкл выводим начало и конец пары. К сожалению, это не решение, а только направление думать... ------------------------------ Знатоки пусть поправят синтаксис php и букву ы в слове "Цыкл". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2003, 16:38 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
fedd, что ты имел ввиду под $row["pairid"]??? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2003, 19:47 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
я имел ввиду, что во вложенном цикле нужно пробегаться по всем дням недели для текущей пары (которую выбрали в цикле верхнего уровня). для этого каждый раз в запрос нужно подставлять код текущей пары насколько я помню, при выполнении запроса и при выборке строки ответа при помоши $row = mysql_fetch_row ($result); а к столбцам нужно обращаться как $row["pairid"]. Правильный синтаксис нужно смотреть на http://www.php.net ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 10:33 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
А все-таки если оставить мою таблицу shedule и разбить ее на 5 таблиц, например order by day_ limit5; limit 5,5; limit 10,5;...? Допустим, я выведу сначала hour_,duty за понедельник и получится 8-10 1 10-12 . 12-14 . 14-16 . 16-18 . А потом буду выводить за вторник, но как добавить по ячейке уже в существующих строках??? К примеру у меня есть строки printf(<tr><td>%s</td><td>%s</td></tr>, $row1[0],$row1[1]) Можно ли добавить еще ячейки типа этого printf(<tr><td>%s</td><td>%s</td><td>%s</td></tr>, $row1[0],$row1[1],$row2[1]) Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 12:32 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
>как добавить по ячейке уже в существующих строках??? по-моему, с серверной стороны, никак. на сервере придется организовать вложенные циклы, как я сказал, и как ты, возможно, проходил(а) когда училась программированию на алгоритмических языках. пробегаешь по всем парам, а потом для каждой пары рисуешь <tr>, пробегаешь по всем дням недели (для каждого рисуя <td>$val</td>), и в конце перед переходом к следующей паре рисуешь </td>. это кстати можно сделать и с твоей одной таблицей. запрос, возвращающий пары - select hour_ from schedule group by hour запрос, возвращающий free для данной пары для каждого дня недели - select free from schedule where hour_ = $currenthour только как тут порядок пар и дней недели прикрутить я не знаю. все будет в беспорядке. >А все-таки если оставить мою таблицу shedule и разбить ее на 5 таблиц, например order by day_ limit5; limit 5,5; limit 10,5;...? так не получится. если уж таким образом хочешь, лучше разбей на столько "таблиц", сколько пар: order by hour_ limit X, и выводи по строкам (по столбцам не знаю я как, и наверно никто не знает).... но не советую. потом придется переделывать. лучше один день помучиться, зато за 5 минут долететь. all! Помогите Arishе! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 13:01 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
Ну почему же выдает пустую таблицу, подскажите, какая ошибка в коде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Большое спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 13:40 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
как я уже говорил, не помню как там правильно, но надо как-то единообразно ... hour_=$row1[ 0 ]... ...<td>"."$row2[ 1 ]"."<td>"... либо и там и там 0 либо и там и там 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 13:46 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
писал:как я уже говорил, не помню как там правильно, но надо как-то единообразно ... hour_=$row1[0]... ...<td>"."$row2[1]"."<td>"... либо и там и там 0 либо и там и там 1 Хмммм, но ведь время я сравниваю, а вывести надо занятость ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:02 |
|
Вывод таблицы расписания
|
|||
---|---|---|---|
#18+
> Хмммм, но ведь время я сравниваю, а вывести надо занятость в какой-то момент нужно просто довериться.. или документацию почитать ;) (в $row[n] попадает только то, что написано после слова select и до where, то есть duty) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2003, 14:41 |
|
|
start [/forum/topic.php?fid=47&msg=32301251&tid=1855690]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 318ms |
total: | 491ms |
0 / 0 |