• Возможно ли сделать трасформируемую таблицу? Когда неизвестно будет 2,3 или 4 колонки?

    @alexalexes
    <div class="table">
          <div class="row">
            <div class="cell">1</div>
            <div class="cell">2</div>
            <div class="cell">3</div>
            <div class="cell">4</div>
          </div> 
        </div>

    Возможно, даже несколькими способами.
    Старинным табличным:
    .table
          {
            display: table;
            table-layout: fixed; /* это свойство определяет ключевое поведение */
            width: 100%; /* это свойство определяет ключевое поведение */
          }
          .row
         {
            display: table-row;
          }
          .cell
          {
            background-color: #ff3344;
            display: table-cell;
          }

    Современными:
    через flex блоки:
    .row
         {
            display: flex;
          }
          .cell
          {
            background-color: #ff3344;
            flex-basis: 100%; /* это свойство определяет ключевое поведение */
          }

    Через grid блоки:
    .row
         {
            display: grid;
            grid-auto-columns: 1fr; /* это свойство определяет ключевое поведение */
          }
          .cell
          {
            background-color: #ff3344;
            grid-row: 1; /* это свойство определяет ключевое поведение */
          }
    Ответ написан
    1 комментарий
  • Как удалить строку в бд через Read Bean Php?

    @alexalexes
    Без понимания чистого SQL прослойка ORM в виде Read Bean крайне неочевидной вещью становится:
    function claim_message($msg, $msgFh, $msgTh, $uuid)
    {
      $var = R::findOne("messages", "msg_th = ? AND is_read = 0'", [$msgTh]);
      if(!is_null($var))
      {
        $delete = R::load("messages", $var->id);
        R::trash($delete);
        return $msg;
      }
      return "null; $msgTh , $msgFh";
    }

    А где тут цикл?
    Ответ написан
  • Как сменить hover для маленьких экранов с касаниями?

    @alexalexes
    Вариант 1. Применять псевдоклассы hover с определенной ширины экрана.
    Преимущества. Классическое применение media с width работает с более древними браузерами, начиная с IE9.
    Недостатки. Делается предположение, что сенсорное устройство имеет маленький размер экрана. Но это ничего не говорит о наличии только сенсорного управления.
    @media (min-width: 768px)
    {
      /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }

    Вариант 2. Применять псевдоклассы hover для устройств, поддерживающих hover.
    Преимущества. Анализируется именно наличие функции, а не предполагаемый размер экрана.
    Недостатки. Не все условно древние браузеры понимают media с условием hover. От поддержки IE придется отказаться.
    /* устройство поддерживает hover*/
    @media (hover: hover)
    {
        /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }

    /*устройство не поддерживает hover */
    @media (hover: none)
    {
      /* селектор стилей для кнопки при наведении - не нужен, либо должен переопределять свойства hover на нейтральное состояние */
     /* slider__button:hover
      {
      }*/
    }

    PS:
    Есть хак для поддержки media с hover для старых браузеров, но будут проблемы, если нужно иметь валидный CSS.
    @media (hover), (min-width:0\0), (min--moz-device-pixel-ratio:0)
    {
         /* селектор стилей для кнопки при наведении */
      slider__button:hover
      {
      }
    }
    Ответ написан
    Комментировать
  • Как вставить все значения у всех таблиц через JOIN?

    @alexalexes
    Так:
    SELECT *
    FROM table1 t1
    RIGHT JOIN table2 t2
    ON t1.ID = t2.ID;

    или так:
    SELECT t1.*, t2.*
    FROM table1 t1
    RIGHT JOIN table2 t2
    ON t1.ID = t2.ID;

    А зачем вам insert, когда задача на "вывести"?
    Ответ написан
  • Как лучше делать слоистую структуру в HTML+CSS?

    @alexalexes
    Примерно так:
    <div class="подложка">
      <div class="элемент-подложки" style="background-color: transparent; transform: translate(0, -30px)">
      </div>
    </div>

    Сам .элемент-подложки не будет двигаться. Будет смещаться только его графический образ.
    Ответ написан
  • Проблема с установкой винды через флешку. В чем проблема?

    @alexalexes
    Загрузчик на флешке не стартует.
    Возможные причины:
    1. Кривой образ.
    2. Кривой процесс записи образа (сбой в записи, или что-то с утилитой не то).
    3. Кривая флешка.
    4. Кривые настройки биос (не тот режим UEFI, флешка отказывается работать на скоростной версии usb 3.0 и т.д.)
    5. Не инициализируется жесткий диск или другой накопитель (не флешка).
    Ответ написан
    Комментировать
  • Как защитить траффик?

    @alexalexes
    Так вот они смогли определить мой айпи.

    И что из этого следует? Это только даст сведения, каким провайдером вы пользуетесь. Сведения об абонентах, которым выделялся этот IP в определенный период времени, могут запрашивать только правоохранительные органы.
    На этом телефоне я был залогинен в инсту через приложение. Короче они нашли мою инсту.

    Вывод неверный. Для поиска профилей человека в соц. сетях не нужно иметь доступ к его устройствам. Фотографий, ФИО, ник, город, школа, список друзей - вполне достаточно для поиска, или прикинуть на глаз, что профиль из одной соц. сети похож на профиль другой соц. сети.
    И они как бы видят, что я делаю в интернете.

    Если профили открыты и виден статус онлайн, видно как что-то постите в группах и у себя в профиле, и ничем вы больше не занимаетесь - ну, можно сказать, да. Вы же сами держите все это в открытом состоянии.
    Они видят мой рабочий стол и могут заходить в мои папки, перемещать, копировать файлы оттуда

    Если вы не настраивали общий доступ к папкам и не настраивали удаленное подключение к компу, то мало вероятно.
    У меня вопрос можно ли это прекратить сделав динамический айпи, поменять на провайдера с динамическим айпи

    У всех провайдеров для физ. лиц используется динамические IP. Наоборот, чтобы получить постоянный, нужно платить как за отдельную услугу.
    иногда сайты меня спрашивают про куки

    Считается хорошим тоном, если сайт спрашивает у пользователя, можно ли использовать куки для хранения настроек сайта (язык, выбранный город и т.д.).
    Возможно, от испуга вы зачистили историю браузера. Теперь такие сайты не помнят, что вы посещали их и заново все спрашивают.
    Еще они могут замедлять мне интернет, видимо делают ддос атаку.

    На IP, предназначенный для раздачи интернета физ. лиц не имеет смысл делать DDoS. Вас бы реально могло это обеспокоить, если бы вы администрировали свой собственный сайт, и сайт бы имел важную для вас аудиторию, которая бы не могла бы получить доступ к сайту из-за атаки.
    У меня хром начинает занимать 99% цп, и ноут нагревается блин потом короче сайт виснет, трудно работать короче.

    У хрома есть свой мини антивирус - Software Reporter Tool. Он периодически включается чтобы проверить окружение браузера на вирусы. Может включаться и почаще, если в окружении появляются много новых файлов кеша истории, если вы делали недавно зачистку истории.
    Вы просто на это не обращали никогда внимания. Вот и все.
    Ответ написан
    2 комментария
  • Как отправить GET запрос с нужным значением?

    @alexalexes
    Не привлекая JS, можно поместить все включенные галки в ассоциативный массив:
    <input type="checkbox" name="tags[{{ tag }}]">
    Если выбрать галку 1 и 3, то на стороне сервера можно перехватить такую структуру как ассоциативный массив:
    {'tags' : { 'Тег1': 'On', 'Тег3': 'On'} }
    PS: можно сделать неассоциативный массив:
    <input type="checkbox" name="tags[]" value="{{ tag }}">

    {'tags' : [ 'Тег1', 'Тег3'] }
    Ответ написан
    Комментировать
  • Как наисать условие where с множесвом параметров?

    @alexalexes
    SELECT a.*, ai.name_img_file, ai.src, ai.title as img_title 
    FROM adverts as a
    join  advert_imgs as ai on a.id = ai.id_adv 
    WHERE 1 = 1
        AND exists( select 1 from adverts_fields af where a.id = af.id_advert and  af.field_name = 'storey_apartament' AND af.field_value = '58')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'condition_house' AND af.field_value = '13')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Sleeping'AND af.field_value = '38')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Availability' AND af.field_value = '48')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and  af.field_name = 'Bathroom' AND af.field_value = '77')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Heating'AND af.field_value = '26')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'Furnished' AND af.field_value = '14')
        AND  exists( select 1 from adverts_fields af where a.id = af.id_advert and af.field_name = 'kitchen_area' AND af.field_value = '34')
    ORDER BY `title` DESC

    У вас свойства одного объекта "a" хранятся не в одной записи "af", а в нескольких, которые связаны внешним ключом через af.id_advert. Поэтому, чтобы посмотреть каждое свойство фильтра, нужно подзапросом exists пройтись по таблице свойств столько раз, сколько критериев в фильтре.
    А то, что вы написали - то проверит одну запись свойства и отсечет выборку на следующем AND проверки критериев, поскольку field_name и field_value в одной цепочке and проверит на разные значения, но обратить такую цепочку and в true невозможно.
    Ответ написан
    1 комментарий
  • Надо ли дожидаться загрузки документа, если скрипт подключается перед закрывающим тегом body?

    @alexalexes
    Попробуй вычитать геометрию img или его контейнеров до загрузки изображений.
    Ответ написан
    1 комментарий
  • Как исправить ошибку General error: 1 near "-": syntax error in?

    @alexalexes
    Эта черточка - воспринимается как минус, поэтому имена столбцов и других объектов желательно выбирать без них, либо оборачивать в обратные кавычки, например, `article-header`.
    Ответ написан
    Комментировать
  • Возможно ли подключить второй монитор к встроенной видеокарте?

    @alexalexes
    Зависит от того, есть ли в разъеме DVI контакты аналогового сигнала (DVI-I и DVI-A).
    https://ru.m.wikipedia.org/wiki/%D0%A4%D0%B0%D0%B9...
    Или у вас выход DVI только цифровой - DVI-D.
    Для аналогового DVI, чтобы перевести сигнал в VGA сгодится переходник по проще:
    DVI-I to VGA
    А для цифрового DVI нужен конвертер:
    DVI-D to VGA - сторона VGA заключена в корпус.
    Ответ написан
    1 комментарий
  • Как изменить масштабирование html страницы?

    @alexalexes
    Взять самый большой блок страницы и масштабировать через transform:
    document.body.style.transform = 'scale(' + ваше_значение + ')';

    Но это никакое отношение к тому свойству масштаба в меню браузера не имеет. Это только мнимая магия CSS преобразований.
    PS: А вообще, как-то не очень дублировать то, что есть в браузере из коробки. Времена, когда каждый второй рисовал циферблат часов времени пользователя на страничке уже давно прошли.
    Ответ написан
  • Как перенести число по модулю X в чиcло модуль Y?

    @alexalexes
    Системное уравнение:
    X mod A = X;
    X mod B = C.
    Решение:
    Итерируем i от 1 до тех пор, пока X(i) <= A:
    X(i) = B*i + C.
    X(i) и будут корнями.
    Можно найти X max.
    (A - C) / B и взять целую часть - это будет i max.
    Потом подставить в формулу X(i) = B*i + C, получится X max.
    Ответ написан
  • Как записать в одно поле 2 пути?

    @alexalexes
    Варианты решения в зависимости от задачи:
    1) Брать один из файлов и сохранять только его.
    2) Брать известное количество файлов и сохранять их свойства в разные поля таблицы catalog. Например, может быть не более двух файлов изображения - миниатюра и полное изображение. В таблице должны быть поле под миниатюру, поле под полное изображение.
    3) Брать все файлы, но в базе должна быть отдельная таблица для файлов изображений (например, catalog_image), запись которой хранит сведения об одном файле и ссылается внешним ключом к другой таблице - catalog, к записи предмета, к которой относится файл. Такая архитектура позволит хранить неограниченное число файлов для одной записи catalog.
    Ответ написан
    Комментировать
  • Счетчик количества людей?

    @alexalexes
    Самый простой путь - воспользоваться сервисами аналитики от Google или Яндекс, установив модули аналитики в нужные разделы сайта.
    Если гибкости их функционала недостаточно, то придется в первую очередь разрабатывать свою систему логирования посетителей сайта. А уже на основании логов этой системы вы сможете доставать такие показатели для отдельных объектов на своем сайте.
    Ответ написан
    Комментировать
  • Индикатор RDP-подключения для десктопного пользователя?

    @alexalexes
    Если прямо без софта, то в командой строке пробиваете QUSER и получаете список активных пользователей, чтобы узнать, залогинен кто-либо еще сейчас.
    Ответ написан
  • Событие change. Почему счетчик работает не корректно?

    @alexalexes
    Нужно добавить специальную функцию обертку, чтобы изолировать переменные.
    item.addEventListener('change', (function(item, i) // функция обертка для функции обработчика, содержит переменные, которые нужно изолировать 
    {
    
    return function() { //возврат функции-обработчика для лисенера
         if(item.checked) {
             selectedContactValues.push(parseInt(item.dataset.price));
             countElements[i].value = 1;
         } else {
             selectedContactValues.splice(selectedContactValues.indexOf(item.dataset.price),1);
             countElements[i].value = 0;
         }
            
            resultElement.textContent =  sumArray(selectedContactValues);
        }; // конец функции обработчика событий, переменные которые нужно пропустить через замыкание
    
    })(item, i) // конец функции обертки
    );

    ПС: Возможно, тут нужно клонировать объект item:
    })(JSON.parse(JSON.stringify(item)), i) // конец функции обертки

    Данный способ склонирует только структуру и данные объекта без ссылок на функции и ссылок на DOM.
    ППС: Или брать arr[i] внутри обертки в качестве item, тогда изолировать придется только i:
    item.addEventListener('change', (function(i) // функция обертка для функции обработчика, содержит переменные, которые нужно изолировать 
    {
    
    return function() { //возврат функции-обработчика для лисенера
    let item = arr[i]; // берем item из внешнего массива arr, но по изолированному индексу i     
    if(item.checked) {
             selectedContactValues.push(parseInt(item.dataset.price));
             countElements[i].value = 1;
         } else {
             selectedContactValues.splice(selectedContactValues.indexOf(item.dataset.price),1);
             countElements[i].value = 0;
         }
            
            resultElement.textContent =  sumArray(selectedContactValues);
        }; // конец функции обработчика событий, переменные которые нужно пропустить через замыкание
    
    })(i) // конец функции обертки
    );
    Ответ написан
    2 комментария
  • Как установить правильное смещение dom элемента(jquery, css)?

    @alexalexes
    но откуда то берется плавная прокрутка до нужного места(возможно бутстрап накладывает анимацию)

    Если сторонняя js библиотека не перебирает scrollTop для имитации прокручивания, то возможно в css указано:
    html
    {
      scroll-behavior: smooth;
    }

    Это свойство позволяет обычным способом через css указать, чтобы страница прокручивалась плавно, если меняются прокручивающиеся свойства, без указания их промежуточных значений.

    да и в общем на слабых устройствах этот вариант, мне кажется, моргать будет, даже если ее убрать.

    Со smooth-ом моргать не должно, так как js будет (должен) оперировать начальными и конечными значениями прокрутки, а анимацией будет управлять браузер.
    Ответ написан
    Комментировать
  • Торрент скорость 10 Мб/с?

    @alexalexes
    Провайдеры обычно заявляют скорость в мегабитах (с приставкой до - ключевое слово, если что) в секунду.
    А торрент меряет скорость в мегабайтах в секунду.
    В теории, эти величины различаются в 8 раз, а на практике - в 10.
    Все у вас в норме отображается.
    Ответ написан
    2 комментария