9StarRu, При создании таблицы добавляете к описанию поля AUTO_INCREMENT. При добавлении строки не указываете `invoice_id`. Сразу после успешного добавления строки получаете его через mysqli_insert_id.
Марат Даллин, Вынос миниатюр в отдельную таблицу как раз и будет нормальной формой. Опять же, если миниатюры стандартизованы (хотя бы по одному измерению), то можно просто в базовой таблице указать максимальный номер миниатюры. Картинка маленькая - миниатюры до 3 размера, средняя - до 5, большая - до 7. Отдельная таблица имеет смысл если все миниатюры разных размеров.
Марат Даллин, Если это соотношение меняется 90x60 vs 60x90, то можно просто учитывать ориентацию при генерации миниатюры.
Если один из параметров сохраняется, скажем 90x60 vs 90x120, то, опять же, можно генерировать миниатюры на лету, уменьшая пропорционально.
Если же размеры отличаются, скажем одна миниатюра 60x90, вторая 60x97, третья 63x99, то придётся писать в БД.
Если шесть-семь миниатюр будет всегда и расширение не планируется, то можно заносить их данные в одну таблицу с основной фотографией. Если же многих миниатюр может и не быть или планируете увеличивать их количество, то надо выделять в отдельную таблицу, особой нагрузки на БД это не даст.
Sienore, В хэш должны попасть те данные документа, изменять которые в подписанном документе нельзя.
Чтобы другие программы могли проверить подпись они должны уметь рассчитывать хэш по документу точно таким же образом и использовать тот же алгоритм шифрования. Скажем в MS Word есть встроенная система подписи документов, но она не совпадает с подписью через КриптоПро Office Signature.
Подпись подтверждает неизменность документа и личность того, кто поставил эту подпись. Авторство документа может подтверждаться, если поле автора включено в рассчёт хэш-суммы.
FPer, Только результат замены никуда не записали. replace не меняет исходную строку, она генерирует новую строку и возвращает её в качестве результата.
HadjyGit, конечно, мобильное приложение тоже может работать с этой базой. Обычно это реализуется через промежуточное api. При желании можно и web-приложение реализовать как SPA (single-page application) через тот же самый api.
30*5*100 = 15'000 записей. Для базы данных это ничтожное количество. Проблемы обычно начинаются на миллионах - десятках миллионов записей.
uliana00, А какой тогда корень вы вычисляете? И чему равняется в первом вхождении в "саму формулу" значение yInDegree? И что за переменная i, зачем в цикле дважды делается её инкремент, если значение нигде не используется?
Начать с размышлений. Описать в регексе понятие "гласная". Описать понятие "любой символ". Описать комбинацию "гласная", "возможно произвольное количество любых символов", "гласная". Задача решена.