@gomer1726

Как реализовать электронный талон на php+mysql?

Задача: Избавиться от бумажных талонов вместо них реализовать электронные
Сейчас талоны действуют так, оператор выдает человеку бумажный талон он идет в столовую, сдает талон и получает еду. Теперь нужно автоматизировать все это то есть человек не должен идти к оператору чтобы взять талон. А придумать что то такое что избавило бы от этих работ.
Каждый человек внесен в базу.
Вариант 1: У человека будет личный кабинет где каждый день ему будет сгенерирован трехзначный код как талон. И он может пойти и продиктовать свой талон, а там в столовке проверить есть ли такой талон в базе и т,д
Нужны варианты и идеи, спасибо
PHP Mysql будут использованы, а от вас просто логика
  • Вопрос задан
  • 173 просмотра
Пригласить эксперта
Ответы на вопрос 2
SagePtr
@SagePtr
Еда - это святое
Оператор, который выдаёт бумажный талон, как-то ведь идентифицирует этого человека, что мешает идентификацию переложить на кассира в столовой? Например, выдать пластиковые карточки со штрих-кодом или магнитной полосой, которые сканируются на кассе.
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега PHP
♬♬
Пусть генерятся чуть более длинные, скажем, 6-значные коды из цифр 0-9 и букв A..H.

Нехитрым алгоритмом можно отображать натуральные целые идущие подряд в такие же, но вразнобой. Скажем, просто инвертировать порядок бит в их 32-битной записи. Или чуть сложнее перемешать биты. И вот уже 1, 2, 3 станут какими-то большими числами, не лежащими рядом. Их 16-ричная запись и будет вашим кодом талона.

32-битное целое это 8-значное 16-ричное. Удобнее сократить диапазон целых и длину записи до 4-знака (65535 значений) или 5-знака (миллион значений). Для небольшого предприятия вполне.

Генерите в БД талоны на сегодня - занимая очередные порядковые id. Из них получаются 5-значные коды типа 2F93A, D047C – которые можно предьявить на кассе и проверить.

Такого рода систему давно делал и она до сих пор действует для билетов в одном из московских клубов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы