Связь страниц с пунктами меню самописной cms и отправка письма случайному менеджеру

SplaTe

Новичок
Связь страниц с пунктами меню самописной cms и отправка письма случайному менеджеру

Привутствую.
Нужна помощь по теории программирования (решил создать топик тут), конечно же не откажусь от практических советов.
Пытаюсь написать собственную примитивную cms, практически все запланированное реализовано, но возникли сложности с двумя нижеперечисленными вещами.

1. Каким образом устанавить связь между страницей и пунктом в меню? Реализовал с помощью дополнительного поля-идентификатора(числового), по которому добавляю и удаляю страницы и пункты меню. Собственно сам вопрос: как сделать чтобы этот индификатор инкрементировался? (поидее его число должно где-то храниться, иначе ничего не выйдет) или есть более простые варианты, которых я пока не увидел?

2. Реализовал отсылку письма о заказе товара случайному менеджеру из базы с помощью функции rand() по id, но если менеджера удалить и функция рандома выпадет на его id - соответснно ничего не отправится, есть какие-либо реализации этой идеи?

Надеюсь на вашу поддержку, а то башка чет вообще не соображает...
 

Армян

Новичок
1 непонял
2 если менеджер удален откуда тогда его ID появляется?
 

SplaTe

Новичок
1. Добавление страницы и пункта меню в базу mysql, страница и пункт меню должны быть связаны, чтобы при нажатии на пункт меню в навигации сайта открывалась именно та страница, которая нужна.

2. В том то и дело, что его не будет, а функция rand генерит случайное число от минимум до максимума, поэтому есть вероятность попасть на ай-ди которого нет.
 

Армян

Новичок
1. мб. через дополнительную таблицу с двумя полями: ид_страницы, ид_пункта_меню ?
2. SELECT * FROM `managers` ORDER BY RAND() LIMIT 1
 

SplaTe

Новичок
1. можно конечно, но тут пришла в голову мысль сделать объединения не числовым а именным, тогда отпадает надобность в вычислении числа предидущей страницы и надобность использовать инкремент. Вроде так будет верно..

2. Спасибо, работает. Это я и искал :)
 

Активист

Активист
Команда форума
SplaTe
Ты хоть скажи, у тебя страницы как в базе данных хранятся?

>Реализовал отсылку письма о заказе товара случайному менеджеру
Зачем RAND()? Если задача обычная - разгрузить менеджеров - что бы заявки обрабатывались несколькими менеджерами - нужно их отправлять по порядку, тоесть - сохранять в БД (фаил) id последнего менеджера, далее, делать выборку из бд.
 

antson

Новичок
Партнер клуба
Re: Связь страниц с пунктами меню самописной cms и отправка письма случайному менеджеру

Автор оригинала: SplaTe
2. Реализовал отсылку письма о заказе товара случайному менеджеру из базы с помощью функции rand() по id, но если менеджера удалить и функция рандома выпадет на его id - соответснно ничего не отправится, есть какие-либо реализации этой идеи?
ты делал .
выборка max(id)
генерация случайного целого числа в диапазоне [1,max(id)]
select ...... where id=$rnd

подсказываю
генерация случайного целого числа в диапазоне [0,count()-1]
select ......... order by id limit $rnd,1
 
Сверху