Svarga ну тогда, по предложению
ironwitа, делаю по таблице на каждый подфорум
Со структуой таблицы надо подумать, вообще алгоритм на данный момент попробую описать с процесса первого запуска (учитывая, что MySql установлен и настроен):
1) соединяемся с MySql сервером
2) создаем бд forum
3) создаем первую таблицу - forumsall
в ней (все названия условные):
поле имя подфорума, поле название подфорума, поле модератор подфорума
1 вопрос - тут нужна дата/автор последнего сообщения в подфоруме? если нужна - то эту таблицу тоже нужно синхронизировать, поэому надо будет добавить дату синхронзации, число тем и количество сообщений в каждом подфоруме.
4) При соединении с рубордом всегда синхронизируем таблицу
forums 5) генерим хтмл наподобие ht_p://forum.ru-board.com/board.cgi (то есть список форумов). Ждем пока пользователь выберет подфорум. Он выбирает, делаем запрос к крипту forums.cgi (естественно с параметром client=1)
. Создаем таблицу, которая называется forums_{номер_подфорума}.
В ней:
поле номер темы,
поле статус темы поле имя темы, поле описание темы, поле автор темы, поле число ответов, поле последний ответ, поле дата и время последнего ответа, поле число просмотров темы (а почему бы и нет?),
поле дата редактирования файла с постамих, поле дата синхронизации таблицы
заполняем ее полученными данными из скрипта
также создаем таблицу topic_{номер_подфорума}
в ней:
поле номер темы,
поле номер поста, поле имя юзера, поле текст поста, поле дата поста, поле показывать подпись, поле показывать смайлики
в которую вносим сообщения из выбранной пользователем темы, полученные от topic.cgi предварительно удалив из базы все строки, где поле номер темы совпадает с синхронизируемым
6) генерим хтмл
Естественно перед созданием таблиц проверяем их на существование, а перед тем как делать запрос к скрипту проверяем два условия - 1) есть ли соединение с интернетом(или стоит ли галочка в настройках "работать автономно"
) 2) сверяем дату последнего сообщения, полученную из board.cgi для требуемого подфорума с датой последнего сообщения подфорума из таблицы
forums локальной базы. Если они не совпадают и мы работаем не автономно - делаем синхронизацию этого подфорума.
*Под синхронизацией подфорума с таблицей forums_{номер_подфорума} локальной базы понимается запрос к скрипту forums.cgi, прием от него данных, удаление всех данных из таблицы forums_{номер_подфорума} локальной базы и запись полученных от скрипта данных в таблицу.
**Под синхронизацией подфорума с таблицей topic_{номер_подфорума} локальной базы понимается запрос к скрипту topic.cgi, прием от него данных, удаление всех данных из таблицы topic_{номер_подфорума}, где поле номер темы совпадает с синхронизируемым, локальной базы и запись полученных от скрипта данных в таблицу.
Вроде как мог описал, итого, что нам не хватает:
1) состояние_темы и дату_редактирования_файла_с_постами надо выдавать в forums.cgi
2) из
topic.cgi:
Цитата: имя_юзера|аватар|статус|дом_страница мыло aim icq#|кол-во_постов|дата_регистрации|подпись
имя_юзера|... /* и т. д. со всеми остальными постившими */
№темы|название_темы|описание|состояние_темы|количество_постов|автор|дата_первого_поста|автор_последнего_поста|дата_последнего_поста
дата_редактирования_файла_с_постами
имя_юзера|текст_поста|дата_поста|показывать_подпись|показывать_смайлики
имя_юзера|.... /* и т. д. со всеми остальными постами */
имхо не надо тут строки
Цитата: №темы|название_темы|описание|состояние_темы|количество_постов|автор|дата_первого_поста|автор_последнего_поста|дата_последнего_поста
дата_редактирования_файла_с_постами
вообще выдавать
3) ну и аську можно твоя на всякий случай в приват мне скинуть
4) думаю над таблицей users и smilies
Вроде кое-что начинает проясняться
Цитата: Ikonboard2 БД не использует...
поэтому у нас нет поиска?