Потому что так запрограммировали разработчики плагина. Универсальный ответ. Нормальное решение, если не знаешь, сколько переменных нужно: одна или две. Получаешь ответ, разбираешь через explode, ну и потом обрабатываешь в зависимости от количества элементов в получившемся массиве.
Вопрос не понятен. Обычная форма с текстовым полем и кнопкой отправить. Отправляет на страницу, где это значение обрабатывается, и, если введено именно шестизначное число в шестнадцатиричной системе, выводится блок с атрибутом style, в котором указывается цвет. В чём тут вопрос?
partyzanx, Видимо, вкусовщина. Я ничего удобного в таблицах не вижу. Особенно учитывая, что при неравном количестве ячеек в столбцах таблица разваливается. Впрочем, может, твой вариант и будет нормальным. Мой уже при 1500 ячейках отрабатывает секунд 20, и это после оптимизации скрипта. Зато он позволяет переносить в следующий ряд каждую строчку отдельно, а не всю таблицу вместе.
Идея такая. Сначала тебе надо считать в массив все данные таблицы и ширину колонок. Дальнейший процесс надо повторять после загрузки и изменения ширины страницы. Удаляешь старую таблицу (или таблицы). Инициируешь новую таблицу. Получаешь ширину страницы. Добавляешь ячейки, пока их ширина (которую ты сохранил в массиве) суммарно не становится больше ширины страницы. Закрываешь таблицу, инициируешь новую. И так пока ячейки не закончатся.
Извини, думал, пишет автор вопроса. Ну можно и так. Хотя городить такую конструкцию внутри implode ради экономии нескольких символов на условие как-то странно. И ещё более странно делать функцию для частного случая, формирующего конкретный запрос.
Такое ощущение, что ты путаешь тёплое с мягким. PHP-функции в JS автоматически не переносятся. Тем более, что в PHP ты используешь функцию, а в JS - объект. Этот объект в JS ты вообще формируешь? Если да, приведи код, ванговать мы не умеем.
А почему непременно надо сделать, не меняя разметки? Проще сделать через флексбоксы и не мучиться. А уж выравнивание ячеек по ширине можно сделать через js. Если интересно, приведу своё решение на данную тему.
Владимир, Могу предположить, что js просто не обновился: эти файлы по умолчанию кэшируются. Если же после ctrl+f5 не пройдёт, надо в консоли (ctrl + shift + I) смотреть, что там происходит.
profesor08, Интересно, как ты собираешься красиво обрабатывать ассоциативный массив в рамках данной задачи? Можно сделать обычный массив и соединить через implode, а вот на ассоциативный моей фантазии не хватает.
Ну так выведи $sql, посмотри, что там не так. Может, у тебя все три if оказались ложными. Я сами условия не закладывал, просто показал суть. Надеюсь эту суть ты понял? Если нет, почитай про конкатенацию строк и substr.
Что разные форматы, я понимаю, но эта часть работает, иначе, повторюсь, выдавалась бы ошибка. Но, на всякий случай, проверил: поместил в папку с кодом. Также попробовал вставлять картинку в формате jpg. Результат прежний.
У меня код, который привели вы, не работает:
Fatal error: Uncaught Error: Class 'PHPExcel_Worksheet_Drawing' not found
Вероятно, у вас установлена старая версия PhpSpreadsheet - PhpExcel.
Единственное отличие в коде - setOffsetX. Её добавление ничего не меняет.
А чтоб было. Много - не мало. Всё равно к относительно малому количеству свойств приставляются префиксы, так что размер файла увеличивается не сильно, процентов на 10-15.