Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
Uncaught mysqli_sql_exception: Data too long for column
Получил ошибку: Uncaught mysqli_sql_exception: Data too long for column. Из текста ошибки ясно, что машина получила слишком длинные данные.
Я не стал менять тип поля, чтобы увеличить еёёмкость, я просто сделал проверку на длину строки, перед сохранением данных в Базу Данных (По аналогии: Тема: Слишком большое имя (failed to open stream: File name too long)).
Делаю так:
Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличениемёмкости поля, куда сохраняется запись, либо замену типа столбца....
Я не стал менять тип поля, чтобы увеличить её
Делаю так:
$insert['search_query'] = (mb_strlen($search) > 250) ? mb_substr($search, 0, 250) : $search;Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличением
- Жалоба
Карусель фотографий
Для одной своей идеи, использовал карусель фотографий, взятую из интернета и переписанную под себя. Выложу, как было у меня. Карусель использует библиотеку jQuery, так что придется подключать её, хотя, переписать на чистый JavaScript не составит особого труда.
jQuery:
...
jQuery:
var carouselID = 1, change = 8000;
function carouselStart() {
if ($('div[data-carousel="carousel"]').length < 1) {
return false;
};
$('div[data-carousel="carousel"]').each(function() {
$(this).removeAttr('data-carousel').attr('id', 'carousel_' + carouselID);
carousel('#carousel_' + carouselID);
carouselID++;
});
};
$(() => {
carouselStart();
window.setInterval(carouselStart, 3000);
});
function carousel(carouselID) {
var $slr, $sls, interval, $selectors, $btns, currentIndex, nextIndex;
var cycle = index => {
var $currentSlide, $nextSlide, $currentSelector, $nextSelector;
nextIndex = index !== undefined ? index : nextIndex;
$currentSlide =JS: Метод массива forEach()
Метод
Пример:
...
forEach() перебирает все элементы массива. В качестве параметра используется функция, которая будет работать с каждыми элементом массива.Пример:
const n = [1, 2, 3, 4, 5]
n.forEach(function(num) {
alert(num);
});Магический метод __call(): Вызов при недоступных методов
Магический метод
Мои два метода (
С решением этой задачи мне помог магический метод
...
__call() запускается при попытке обращения к несуществующему/недоступному методу:
public function __call($name, $arguments)
{
echo 'Метод: ' . $name . ' не найден.';
}Мои два метода (
installation и update) были похоже друг с другом, за исключением деталей, я решил их объединить, в один, при этом обращение к методам должно было остаться прежним:
$class->installation();
$class->update();С решением этой задачи мне помог магический метод
__call():
// Установка | Обновление
public function __call(string $name, array $arguments)
{
// Проверка: Если вызываемый метод не: installation, или не: update, то функция вернёт null
if (!in_array($name, ['installation', 'update']))
{
return null;
}
// Код функции
} // End: Установка | ОбновлениеОстановка текущего воспроизведения, при включении другого проигрывателя
Стояла задача: Поставить на паузу аудио проигрыватель, что играет в данный момент, при включении другого проигрывателя. Решение было найдено в интернете, выглядит чистый JS так:
jQuery выглядит так:
Опробовал. При динамическом добавлении проигрывателя, работает тоже....
// Остановка текущего аудио плеера, при включении другого
window.addEventListener('play', function(unit) {
if (window.playing && window.playing != unit.target) {
window.playing.pause();
};
window.playing = unit.target;
}, true); // End: Остановка текущего аудио плеера, при включении другогоjQuery выглядит так:
// Остановка текущего аудио плеера, при включении другого
$('audio').on('play', function() {
$('audio').not(this).each(function(index, audio) {
audio.pause();
});
}); // End: Остановка текущего аудио плеера, при включении другогоОпробовал. При динамическом добавлении проигрывателя, работает тоже....
Категории
- Apache 6
- CMS 3
- CSS 23
- FTP 1
- HTML 16
- JavaScript 46
- Nginx 15
- PHP 54
- phpMyAdmin 2
- SEO 7
- SQL 17
- SVG 10
- URL 1
- XML 2
- Безопасность 9
- Библиотека JS 18
- Графика 1
- Инструкция 1
- Кодировка 2
- Контент 11
- Мнение 4
- Монетизация сайта 1
- Настройка 3
- Ошибка 13
- Поисковая система 2
- Продвижение сайта 5
- Производительность 3
- Прочее 1
- Софт 1
- Старт 1
- Сценарий 1
- Функция 1
- Хостинг | Сервер 2
Реклама













