Ответов: 16 Просмотров: 734
|
landsturm пишет:И ещё хотелось бы узнать, как для каждой категории сделать свою точку отсчёта так сказать, то есть чтобы в каждом разделе номер темы начинался от 1. Заранее благодарю за любую помощь, мне бы это очень пригодилось в дальнейшем!
Предположим, каждый раздел (section) у нас обозначается своим номером (id) 1, 2, 3, ... . Названия тем хранятся в отдельной таблице (topics), вида (id, title, topic_id, section_id). Идентификатор id в данном случае для простоты является лишь суррогатным ключём, а номером темы в разделе выступает topic_id.
При добавлении новой темы (topic), нужно проверять максимальный номер темы (topic_id) из данного раздела (section_id). Предположим, нужно узнать номер последней темы из первого раздела, тогда это делается таким запросом:
Затем, если запрос не пустой, при добавлении новой темы, просто прибавляем единичку к полученному результату, иначе это первая тема в этом разделе и её topic_id будет равен единице. |