2016-02-24 4 views
1

Я не знаю соответствующего заголовка, который мне нужен. Я делаю систему отслеживания документов, используя phpselect statement in php с ограничением

Я не знаю, как решить эту проблему. я понятия не имею. поэтому я не могу выполнить поиск, потому что я не знаю, какое ключевое слово использовать.

проблема в том, как система узнает первого человека под знаком документа. до того, как следующий подписавший может подписать документ

пример. У меня есть документ 1. Документ 1 должен быть подписан подписью 3.

3 подписавших: президент, вице-президент и декан.

первым человеком, который должен подписать документ является деканом, а затем вице-президентом, и, наконец, президент

то, что я хочу, это документ, который должен быть подписан другой подписавшей виден только тогда, когда первая подписавшая подписали документ

пример сценария. после того, как декан подписал документ. то в системе станет видно, что вице-президент должен подписать этот документ. и после того, как вице-президент подписал документ. то система предложит президенту подписать этот документ.

, пожалуйста, дайте мне некоторое представление о том, как это делается. Спасибо. извините за мой плохой английский

+0

Вы можете посмотреть [тур]. Ваш вопрос, как и сейчас, скорее всего, будет закрыт. Пожалуйста, покажите какие-то усилия, чтобы решить свою проблему, прежде чем спрашивать здесь. На данный момент не совсем понятно, что вы планируете использовать технологию, которую вы отметили. – Burki

+0

Использовать текстовое поле (или целое) в документе для обозначения состояния и показывать только документ 'where state = ', подписанный деканом' вице-президенту? –

ответ

0

У вас есть сущность «Документ». Добавить в свойство entity SignStatus. По умолчанию SignStatus = 'not_signed'.

после того, как декан подписал документ Document-> SignStatus = 'dean_signed';

после того, как вице-президент подписал документ Document-> SignStatus = 'vice_pres_signed';

после того, как президент подписал документ Document-> SignStatus = 'pres_signed';

+0

Благодарим вас за идею сэр. плохой пост снова, если это работает – Audrey

0

Вы можете использовать базу данных для хранения информации о документах.

Но для этого вы должны иметь базовые знания о базах данных.

Возможно, начните с чтения руководства по php?

Попробуйте HOWTOs к, как:

создать базу данных, создать таблицу, вставить что-то в таблице, читать что-то из таблицы ... с PHP

Тогда поиск HOWTOs о создании базы данных ...

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

+0

Я знаю, как программировать в php sir. Я знаю некоторые базовые вещи, такие как база данных. но проблема в том, что я не знаю, как решить проблему, потому что я не знаю, что мне нужно. – Audrey

0

Вот простая схема, которая работает для описанной проблемы. Предполагая, что у вас есть таблица, в которой вы указываете документы, сохраняйте флаги для каждой подписи: deanSigned, vicePresidentSigned и presidentSigned. Если значение по умолчанию равно нулю, и вы устанавливаете флаг 1 после того, как человек подписал.Затем вы можете выбрать соответствующие документы следующим образом:

Для декана:

SELECT id 
FROM documents 
WHERE deanSigned = 0; 

Для вице-президента:

SELECT id 
FROM documents 
WHERE deanSigned = 1 
    AND vicePresidentSigned = 0; 

Для президента:

SELECT id 
FROM documents 
WHERE deanSigned = 1 
    AND vicePresidentSigned = 1 
    AND presidentSigned = 0; 

Я бы советуем не использовать одно поле для трех подписей. Также было бы разумно подумать о том, чтобы иметь отдельную таблицу signatory, которая позволяет использовать более гибкий подход.

+0

плохо попробуйте этот сэр. Благодарю вас за эту идею. – Audrey

+0

Нет хорошей идеи, представьте, что этот документ. декан -> главный декан -> генеральный декан -> заместитель директора -> директор секции -> главный директор? –

+0

Вы можете создать дополнительную таблицу Id DocumentWay | DocumentId | SignatorID | SignType (предоставление от Signator-> SignType) | SIgnDate. Это даст вам больше гибкости и истории подписей на документы. –