Alexey, самое простое - добивать в хэдер соленый хэш запроса, при этом как-то обеспечив секретность соли (чтобы её знал только сервер и клиент, но не скрипткидди-пользователь с девтулзами) но это все равно глобально не спасет.
Проще всего снести проект, снести mysql, удалить конфиги mysql если остались и сделать все заново. Гадать, что там шаловливые ручки накрутили нет возможности.
Ну и нужно понимать в чем разница между сервером БД и тем, что открывается в браузере при наборе адреса.
ну тут проблема в основном в том, что на каждый запрос субд приходится просматривать весь индекс и выполнять агрегацию. Зачем это делать? Денормализация в данном случае (read/write rate) целиком себя оправдывает.
По ссылке прекрасно описанное и не очень сложное задание. Джун должен уметь его решать. Основной рост квалификации в этих всех грейдах - не только и не столько то, что можно выучить и нагуглить, а дотелепатировать правильно требования, которые на более высоких уровнях всё более размытыми могут быть и выбрать способ решения.
Леонид, ну они после этого не будут в глобальной области видимости. и если в глобальной области видимости есть функция с таким же именем - то она не испортится.
aaltqna, что значит "с большим количеством tr не работает?" работает. Ничего ни на что не наезжает. или надо, чтобы таблица прокручивалась внутри блока, не растягивая все остальное?
fraqlehver, про высоту - внимательно посмотрите на картинку в моем комментарии (кстати на узких мониторах в вашем коде будет такая же проблема, вроде бы)
про белое пространство из начального вопроса - я написал прям в ответе ссылку на теоретическую базу этого и есть несколько способов "борьбы", - добавление границы, замена margin на padding, указание overflow или display: flex/inline-block/etc. эти все способы описаны уже миллион раз.
karuzzo, если во внешний отчет, то (не кроссплатформенно) можно воспользоваться ком-объектом adodb, затем обработкой рекордсета с преобразованием в объект 1с, например ТЗ. Примеров в интернете множество