CityCat4, ну, это скучно. Гораздо интереснее сломать системное время вдребезги напополам, а потом дозвониться в Гринвич и уточнить, нет ли у них желания перенести нулевой меридиан в Томск.
SELECT m1.recdate, m1.rectime, m1.equip, m1.reason, m2.recdate, m2.rectime
FROM main AS m1
JOIN main AS m2
ON m2.num > m1.num
AND m2.equip = m1.equip
AND m2.state = 'ПУСК'
AND m1.state = 'СТОП'
Поле в БД, определяющее порядковый номер при сортировке.
Если нужно хранить для каждого пользователя - отдельная таблица с такими полями.
Какие тут еще могут быть решения?
В случае сильно неудачного обновления сервер БД может похерить данные БД.
Бэкап системного раздела - это удобно, но необязательно. В конце концов, система ставится заново с нуля.
А вот бэкап данных - это вещь, отсутствие которой может быть реальной катастрофой.
shardik_rus, "поставить на сервер панель управления" - это нечто сугубо противоположное "закрыть дыры в безопасности".
И забыть про нее можно только в том случае, если вас не волнует, кто, кроме вас, будет ей пользоваться.
Обновить - возможно. Будет ли работать - не факт. Более свежие версии серверов предполагают некоторое изменение настроек, так что могут перестать работать правильно.
В "просто огромен" вы Г с Т не спутали?
Алексей Потапенко, а что вы собрались ловить от file_get_contents? Это сишная функция, она не выбросит никаких исключений, молча вернет false - и все.
Соберите свои урлы в массив и перебирайте его в цикле. Если ни один не вернет осмысленного - тогда решайте, как дальше жить.
Тем не менее, если в случае любой ошибки выполняется один и тот же сценарий - прерывается выполнение скрипта и возвращается сообщение пользователю - то логично разруливать ошибки именно исключениями, а не кодами возврата.
Системные ошибки, которые не хочется светить, решаются введением подкласса исключений и раздельного перехвата его и всех остальных. Соответственно, с выводом для остальных сообщения "внутренняя ошибка" вместо лишних деталей.
ittakir, если ваши проекты умещаются на экране целиком - что ж не пересобрать...
Если код будет читать не случайный человек, а программист, то простыня инклюдов любой длины займет у него максимум полсекунды на прокрутку вниз.
В результате изменение в одном (возможно, второстепенном) заголовочном файле вынудит пересобираться весь проект. Bad practice.
Никакого смысла "жалеть строчек" в исходниках нет.
Очевидно, в самом интерфейсе ArmyVisitor должен быть заявлен метод visit{Имя того класса, которому принадлежит метод accept} - тогда любой его наследник должен этот метод реализовать, и IDE за этим проследит.