|
|
|
|
table1
----------------------
[id_req][name][req_id]
----------------------
table2
------------------------------
[id_off][p][e][req_id][usi_id]
------------------------------
table3
------------------------------
[id_usi][inf[1]][...][inf[12]]
------------------------------
|
В первой таблице храниться двухуровневое дерево (типа разделы и подразделы), во второй статьи которые храняться
только в подразделах и ссылки на юзеров их опубликовавших. в третей только информация о пользователях...
Мне необходимо вывести на экран такую таблицу:
<table>
<tr>
<td>[примечания(icq, мылы, имя итд)]</td>
<td>inf[столбец 1] </td>
<tr>
:
<tr>
<td>[примечания(icq, мылы, имя итд)]</td>
<td>inf[столбец 9] </td>
<tr>
</table>
<table>
<tr>
<td>[название подраздела]</td> // из первой таблицы
<td>[p]</td> // из второй таблицы
<td>[e]</td> // от туда же
<tr>
: <- До тех пор пока не кончатся статьи (в подразделе может и не быть статьи данного юзера, а может из трех две, к примеру)
(можно вывести все статьи подраздела а в той ячейке где у пользователя нет статью пусть будет пустота)
<tr>
<td>[название подраздела]</td> // из первой таблицы
<td>[p]</td> // из второй таблицы
<td>[e]</td> // от туда же
<tr>
</table>
|
из входных данных есть только ссылка раздел [id_req] на который ссылаются неизвестное количество подразделов.
Помогите пожалуйста решить данную проблему.. очень срочно надо сдаваться идти, а без этой таблицы нельзя. =(
| |
|
|
|
|
|
|
|
для: kaoz
(31.03.2006 в 11:59)
| | А вы бы не могли приложить кусочек SQL-дампа с определением таблиц и парой записей - просто восстанавливать все эти таблицы для эксперимента достаточно затруднительно. | |
|
|
|
|
|
|
|
для: cheops
(31.03.2006 в 12:09)
| | вот... | |
|
|
|
|
|
|
|
для: kaoz
(31.03.2006 в 12:33)
| | пожалуйста, помогите решить проблему... | |
|
|
|
|
|
|
|
для: kaoz
(31.03.2006 в 13:40)
| | Пропустил архив, в отмеченные тема ушла... Вот что непонятно, "примечания" - это что и по какому принципу они формируются? Как вообще должна работать система, что мы создаём? | |
|
|
|
|
|
|
|
для: cheops
(01.04.2006 в 13:37)
| | примечания относятся к информации о пользователе и я пишу их вручную
в данном случае в таких примечаний 9:
имя -> i1 (из table3)
фамилия -> i2 (из table3)
e-mail -> i3 (из table3)
возраст -> i4 (из table3)
icq -> i5 (из table3)
доп1 -> i6 (из table3)
доп2 -> i7 (из table3)
доп3 -> i8 (из table3)
доп4 -> i9 (из table3)
|
система работает так:
исходные данные:
1.есть разделы в них есть подразделы (подразделы относятся к разделам через id_req и req_id из table 1)
2.есть пользователи (о которых есть информация в table3)
3.есть коментарии к подразделам (table2 относиться к table1 и table3)
задача:
необходимо сформировать таблицу столько раз сколько пользователей сделало коментарии
к подразделам таким образом
<table>
<table> // информация о пользователях
<tr> // ячейка повторяется столько раз сколько столбцов i в table3
<td>Примечание</td>
<td>i[i]</td>
</tr>
</table>
<table> // коментарии
<tr> // шапка таблицы
<td>Столбец 1</td>
<td>Столбец 2</td>
</tr>
<tr> // эта ячейка повторяется столько раз сколько существует подразделов, если возможно,
// то сделать повторения для всех подразделов к которым пользователь оставил
// коментарий
<td></td> // название подраздела (table1)
<td></td> // коментарий (table2)
<td></td> // дополнительный коментарий (table2)
</tr>
</table>
</table>
|
| |
|
|
|
|
|
|
|
для: kaoz
(01.04.2006 в 15:24)
| | Я не уверен, правильно ли понял, но можно поступть так, для выводов разделов, в которых имеются комментарии
SELECT * FROM table1, table2, table3
WHERE table1.id_req = table2.req_id AND
table2.usi_id = table3.id_usi
GROUP BY table1.id_req
|
а для вывода имён пользователей
SELECT * FROM table1, table2, table3
WHERE table1.id_req = table2.req_id AND
table2.usi_id = table3.id_usi
GROUP BY table3.id_usi
|
| |
|
|
|
|
|
|
|
для: kaoz
(31.03.2006 в 11:59)
| | ну что там?
может мне логику поменять?
тогда как посоветуете лучше? | |
|
|
|