timur_khabibullin, конечно. у вас одинаковые данные и там и там, зачем эти лишние таблицы и в последствии лишние запросы к базе. таблица должна быть одна и в ней должен быть признак ученик/учитель, все.
зачем так сложно?
есть таблица Users в которой прописываются и адрес и фио и все остальное
а Учитель это или Студент - всего лишь признак который или 0 или 1
0 - студент, 1 - учитель
ну, как вариант, при учете что у вас учитель и студент не будут одновременно одним человеком.
не нужно делать сложно там где не нужно делать сложно
1. Пишите код, который выставляет счет
2. Любую, какую сможете внедрить
3. платежные системы обычно дают возможность проверки платежетей сразу по завершению платежа или после через статус платежа. эта возможность называется API
alexeeey_kuznetsov, можно. в каждом языке программирования в массивах\циклах есть ключи. key или index в вашем случае. вам нужно просто указать этот ключ к вашему классу.