Всем привет. Случайно заметил странную штучку. Раньше не обращал внимание, т.к. всегда использовал одну схему для форматирования даты date( /* шаблон */ , strtotime( /* строка */ ));
В чем собственно странность? Проще сразу показать пример:
Спасибо, господа, за ответы. Решил сконцентрироваться не на поиске решения проблемы, а на сборе убедительных аргументов, чтоб этого не делать. Через пару дней заказчик возвращается и буду с ним бороться. В худшем случае, как посоветовал Мелкий, сделаю поле NULL. Что-то я забыл об этом, а хоть как-то, но облегчит задачку.
Приветствую всех! Переодически, встречая подобные вопросы, у меня самого "лицо в руки падало", но вот и сам вляпался. Тот кто работал с заказчиками-мозгоё[цензура] меня поймет.
В общем, записи в БД имеют поле: `order_id` (AUTO_INCREMENT, PRIMARY KEY) и поле `order_num` (не уникальное и без автоинкремента). С первым всё понятно - оно исключительно для работы. А вот второе поле - "номер заказа" - может иметь значение "0", если заказ еще не принят в работу и, если уже принят, то порядковый номер. При этом не должно быть пропусков в нумерации, даже если где-нибудь из середины запись будет удалена.
Решения найденные мной, в большинстве случаев, совпадают с найденными в инете. Все они, как и сама задача, позитивных эмоций не вызывают, поэтому решил посоветоваться с сообществом и найти оптимальный выход из дурацкого положения. Основной принцип в найденных решениях: вытащить все номера, проверить на php присутствие "пробелов", если есть, то взять пропущенное число, если нет - то максимальное + 1 и записать в базу. Конечно "ужос, летящий на крыльях ночи", но жопаделать...
Значит проблема в чем-то другом. Я Denwer-ом не пользуюсь и другим не рекомендую, посему не могу сказать: в нём проблема или нет. Предлагаю сделать несколько простых тестов:
1. Добавить в форму текстовое поле и попробовать вывести его значение в обработчике
2. Установить что-то получше Denwer-а, например, Open Server
3. В конце концов, протестировать на хостинге. Если даже таковым еще не обзавелись, то хотя бы на бесплатном (но только для теста, а не дальнейшего использования!)