Современные браузеры сильно умные, они в адресной строке стараются get параметры заменять экранированные символы обратно в реальные символы, но когда отравляют, то делают экранирование, если не встречают "процентовки".
Когда пытаетесь что-то в url написать, то имейте ввиду, что часть url, которая отвечает за запрос, должна кодироваться должным образом, если туда передается текст с пробелами, знаками препинаниями, кириллицей и т.д.
Создайте два метода (они же функции, если не умеете писать прототип или класс).
1. Инициализирующий метод.
В этом методе из исходного массива текста создаете текстовые блоки как ноды DOM. Накидываете эти ноды в правый или левый красные контейнеры.
2. Анимирующий метод.
В этом методе через setInteval (по длительности, равный периоду повторения анимации) изменяете свойство текущего текстового блока в left или right в 0 или в значение ширины блока контейнера, чтобы заставить свойство transition отыгрывать анимацию.
PS: Первый метод нужно запускать после того, как весь контент страницы загрузится.
Во втором методе у setInteval время повторения будет зависеть от порядка текстового блока, чтобы получить фазу задержки анимации (если она требуется). Значение ширины блока лучше пересчитывать каждый раз, когда запускается setInterval, так как пользователь может изменять размер видимой области браузера.
То, что вы используете функцию mysqli_real_escape_string, говорит о том, что вы подготавливаете текст запроса склейкой значений параметров. Этого надо избегать так: https://www.php.net/manual/ru/mysqli.quickstart.pr...
но еще же куча разных ошибок может быть
Оборачиваете фрагмент кода, где идет работа с базой в try catch, а в catch ловите вид ошибок по дескриптору mysqli_sql_exception $e, тогда $e всегда будет содержать сведения по любой операции работы с базой, когда что-то пойдет не так. Но ошибка будет выводится, если действительно есть аварийная ситуация. Если update выполнился корректно, и он затронул 0 строк - это не ошибка взаимодействия с базой. Если это ошибка по бизнес-логике, то вы должны ее сами отловить с помощью mysqli_affected_rows.
RimmaKur вы в курсе, что каждая mysqli функция в отличие от mysql без i предполагает наличие параметра дескриптора коннекта или дескриптора подготовленного запроса? (если это процедурный стиль, а не объектный)
На стороне сервера нужно обеспечить передачу любых запросов к shop.com в точку входа по умолчанию.
На стороне клиента после загрузки страницы анализировать, что находится в url после доменного имени.
Можете еще мерить размер материнской платы по кол-ву pci слотов напротив текстолита материнки.
Типичный размер - 4 pci слота.
Корпуса, обычно, имеют высоту 4 или 7 слотов pci (это единственный промежуток, который определяет высоту корпуса).
Только при создании истории не забыть добавить внешний ключ на собственную таблицу - next_id - следующая запись истории в пределах id той таблицы, по которой ведется история. И добавить триггер, который будет при добавлении новой записи заполнять у предыдущей next_id.
Если повесить индекс на это поле, то это позволит в любом запросе очень легко определять последнюю запись истории (next_id is null).
Учить язык программирования - это значит, уметь находить оптимальное решение задачи по поставленным требованиям, используя принятые патерны проектирования, не зависящие от среды программирования, применяя эти патерны на структуры данных и интерфейсы взаимодействия объектов, типичные для данной среды программирования, используя синтаксис данной среды (то есть язык).
Когда у вас выстроится стек от формулировки задачи или проблемы к синтаксису языка - то тогда значит, что вы владеете им.
Первоначально, у вас текущий номер активной страницы равен 1.
Заведите параметр "размер области видимости страниц" и не давайте работать циклу for, когда i больше этого параметра. В обработчике клика вычисляйте индекс кликнутого элемента и от него шагайте for-ом влево и вправо - отображайте все элементы, индекс которых меньше по модулю, чем "размер области видимости страниц", а если индекс больше этого параметра - то погасить. В обработчике можно не ходить влево и вправо дальше 2 * "размер области видимости страниц" - там элементы будут скрыты при любом раскладе.
Добавляйте "..." если первый номер страницы отстает от края "размер области видимости страниц" больше чем на 2, также "..." будет справа, если на 2 будет отличаться "размер области видимости страниц" к последней странице. "..." Нужно убирать, если эти условия нарушаются.
var rowsTotal = $('#myTable tbody tr').length;
У вас уже отрисовывется миллион строк и по этому кол-ву вы пытаетесь посчитать число страниц.
В первую очередь, нужно решить задачу не вываливать все строки, а выводить порционно сведения, запрашивая их по двум параметрам (начальная позиция выборки, размер выборки) или (номер страницы, размер выборки).
Можно своим велосипедом через i это отслеживать:
А можно изменить роль массива arr и воспользоваться join-ом: