|
|
|
| Здравствуйте. Пишу форум, похожий на LiteForum и minibb. Cheops, если перед Вами стала задача сделать постраничную навигацию в темах, как бы Вы ее решили? Если использовать линейный вид - тут проблем не возникает, легко можно составить SQL запрос, который выбирет нужные сообщения. Но если используется структурный метод представления, возникают трудности. У меня как и у Вас используется рекурсивная функция. На ум приходить следующее:
1) выбрать все сообщения, относящиеся к теме.
2) засунуть их в массив.
3) Выбирать нужные элементы из массива в зависимости от страницы и числа сообщений на странице.
Еще какие будут идеи? | |
|
|
|
|
|
|
|
для: antf
(19.10.2005 в 22:27)
| | Создал постр. навиг. описанным способом. С виду все нормально, правда отступы необычно выглядят, но это ладно. Есть ли более изящные способы? | |
|
|
|
|
|
|
|
для: antf
(20.10.2005 в 00:04)
| | Если бы изящный способ мне вдруг пришёл бы в голову - он давно бы был здесь прикручен :))) | |
|
|
|
|
|
|
|
для: antf
(19.10.2005 в 22:27)
| | Здесь очень удобно воспользоваться глобальной переменной, путь даже это уменьшит читабельность кода, но зато здорово его сократит. | |
|
|
|
|
|
|
|
для: cheops
(20.10.2005 в 00:54)
| | Вот мой пока еще сырой модуль вывода сообщений. Структура таблицы почти такая же как и на LiteForum. Используется пока только структурный метод представления.
Массив $posts, где находятся сообщения объявлен как глобальный во всех функциях.
Рекурсия сама по себе здорово снижает читабельность. Заботиться о ней, я думаю, незачем :). | |
|
|
|
|
|
|
|
для: antf
(20.10.2005 в 01:23)
| | А ну да можно и глобальным массивом с готовыми блоками, я так тоже люблю делать :))) Меня только всегда гложет, что приходится весь массив формировать, но с рекурсивным выводом пожалуй по другому не получится. Я по крайней мере не вижу, где бы, что можно было усовершенствовать... | |
|
|
|
|
|
|
|
для: antf
(19.10.2005 в 22:27)
| | Не вижу смысла в постраничной навигации для структурного вида. Новые ответы будут появляться и в самом начале и в самом конце, листать чтоб что то найти... бррр.... | |
|
|
|