Задать вопрос
  • Как перекрасить таблицу?

    @alexalexes
    У таблицы есть класс white_border, если он используется только на этом элементе, то можете использовать такой селектор после всех селекторов, описывающие общие стили таблиц:
    table.white_border,
    table.white_border th,
    table.white_border td
    {
        border-color: ваш цвет;
    }
    Ответ написан
  • Как правильно преобразовать text в дату?

    @alexalexes
    Используйте STR_TO_DATE() вместо DATE_FORMAT, атрибута DOC_TIME это тоже касается.
    PS: Использование этого поля без функции преобразования для операций сравнения не имеет смысла. В этом преступление предыдущего разработчика, выбравшего не тот тип данных.
    Ответ написан
    Комментировать
  • Как сменить select средствами jquery?

    @alexalexes
    Для такой тривиальной операции jquery не нужен:
    document.querySelector('select[name="product[status]"]>option[value="0"]').selected = true;
    Ответ написан
    Комментировать
  • Где найти смену ссылки в jS?

    @alexalexes
    Скрипт обфусцирован. Логику его работы можно понять только по поведению dom-элементов.
    5de931052ee5a459163007.png
    a-контейнер одного элемента img лежит точно над другим a-контейнером другого img-элемента.
    И попеременно меняется style у a-контейнеров. В переходном процессе используется изменение свойства прозрачности и отображения, за счет чего достигается плавная смена одного изображения на другое.
    Ответ написан
    Комментировать
  • Как подключить на одной странице к одному phpmailer-файлу две формы?

    @alexalexes
    Можно. Самое главное, мы не подключаем php-скрипт, а отправляем данные этих форм на обработку этим php-скриптом. Так проще прийти к пониманию, как оно работает.
    Чтобы php-скрипт мог воспринимать данные первой формы, он должен уметь пренебрегать наличием параметра user_car.
    А делается это таким образом:
    строчка:
    $car = $_POST['user_car'];
    исправляется на:
    $car = array_key_exists('user_car', $_POST) ? $_POST['user_car'] : null;

    и другая строчка:
    $mail->Body    = '' .$name . ' хочет перегнать машину ' .$car. '  из ' .$from. ' в ' .$to. '. <br> Вот его номер телефона ' .$phone;

    исправляется на:
    $mail->Body    = $name . ' хочет перегнать '.(is_null($car) ? 'неуточненную машину' : 'машину ' .$car). '  из ' .$from. ' в ' .$to. '. <br> Вот его номер телефона ' .$phone;

    PS:
    Чтобы вам не прислали js-инъекцию на почту, все принимаемые параметры, из которых формируется текст письма, следует экранировать.
    $name = htmlspecialchars($_POST['user_name']);
    $phone = htmlspecialchars($_POST['user_phone']);
    $car = array_key_exists('user_car', $_POST) ?  htmlspecialchars($_POST['user_car']) : null;
    $from = htmlspecialchars($_POST['from']);
    $to = htmlspecialchars($_POST['to']);
    Ответ написан
    Комментировать
  • Как работает цикл while в моем примере?

    @alexalexes
    Сделайте подробную трассировку решения.
    Код объяснит себя сам как он работает.
    let j = 1;
      while (i > 0) {
        i--;
        out15.textContent += 'шаг цикла=' + j + '; ' + 'i='+ i + '; (10-i)='+(10-i)+'<br/>';
       j++;
      }
    Ответ написан
    Комментировать
  • Как удалить добавленный класс?

    @alexalexes
    Скорее всего код удаления класса будет выглядеть так:
    $('.close-popup').on('click', function(event){
        $('.clicked').removeClass('clicked');
        event.stopPropagation();
      });

    PS: Обратите внимание на наличие дескриптора event во входном параметре обработчика события.
    PPS: Справка по теме всплытие и погружение в JS.
    Ответ написан
    Комментировать
  • Как закодировать URL utf8 в cp1251?

    @alexalexes
    Если проанализировать сервис https://service.webboss.pro/urlencode-urldecode , то в нем используется файл https://webboss.pro/js/plugin/urlencode.js , в котором есть функция convert_to_cp1251(str).
    Возможно, этого вам будет достаточно.
    Ответ написан
    3 комментария
  • Несколько массивов вместо одного?

    @alexalexes
    $description1[] = array([..................])
    Обратите внимание сколько раз тут объявлен массив в массиве.
    array([]) - это аналогично [[]] или array(array())
    PS: Для того, чтобы не путаться впредь, перестаньте использовать один из способов.
    Либо array() если у вас php 5.6-
    либо [] если php 5.6+ (это предпочтительней - стильно, модно молодежно, похож на JS)
    Ответ написан
  • Не могу понять работу метода .map?

    @alexalexes
    **
    Пройдемся по массиву и вернем новый массив с такими элементами:
    Если шагнули на нулевой элемент (index == 0), то вернем слово как элемент в новый массив как есть (.... ? word : ....)
    Если шагнули на ненулевой элемент, то Меняем регистр у первой буквы (... : word[0].toUpperCase() + word.slice(1)...) и вернем результат как элемент в новый массив.
    Ответ написан
    Комментировать
  • Winwheel.js Как высчитать на каком сегменте остановится колесо?

    @alexalexes
    Читайте комментарий.
    // This formula always makes the wheel stop somewhere inside prize 3 at least
    // 1 degree away from the start and end edges of the segment.

    Сектор "Приз 3" находится за 90-ым градусом по часовой стрелке.
    Чтобы попадать туда, минимально число должно генериться чуть более 90, например, 91.
    Рандом генерирует веществ. числа в интервале 0...1.
    Нам нужно не выбежать из сектора за верхнюю границу.
    Секторов 8, на один сектор приходится 45 градусов.
    91 + 45 = 136 градусов, убежали в следующий сектор.
    Берем 44, оказываемся на границе секторов.
    Берем 43 - то, что надо, нашли верхний предел генерации параметра (134 градуса).
    PS:
    91 - это минимальный параметр;
    43 - макс. внутрисекторное смещение.
    Ответ написан
    2 комментария
  • Как определить переменную в зависимости от размера картинки?

    @alexalexes
    Определяете с помощью метрики - пропорции:
    $p = $imgwidth * 1.0 / $imgheight; // пропорция; умножение на 1.0 чтобы перевести число в float;
    $delta_q = 0.1; // Дельта ощущения "квадратности" изображения
    switch(true)
    {
      case $p > (1.0 +  $delta_q): echo 'альбомный формат изображения'; break;
      case $p < (1.0 - $delta_q): echo 'книжный формат изображения'; break;
      default: echo 'изображение, вероятно, квадратное'; 
    }

    Когда у вас пропорция $p == 1.0 , то изображение строго квадратное.
    Чтобы избавиться от строгости, вводится дельта $delta_q, дабы считать квадратными изображения, в пропорции "слегка" меньше единицы и "слегка" больше единицы.
    Ответ написан
    Комментировать
  • Как производить расчёты в процентах?

    @alexalexes
    1) Вычисление процентных долей - это вопрос к методу вычисления.
    2) Разделитель добавляется с помощью метода join при выводе массива:
    text.innerHTML = arr.join(', ');
    Дисконт лучше считать вне цикла, и завести под него отдельный массив:
    var dis = arr.map(function (item)
    {
      return Math.round(item - item * (5 / 100.0));
    });

    https://codepen.io/anon/pen/rgLBpd
    Ответ написан
    Комментировать
  • Учить PHP 5 или 7?

    @alexalexes
    Пока не появится реальная задача - вообще бесполезное метание.
    Читать про то и про другое, потом что-то пытаться накодить.
    Однако, по-настоящему вы освоите ту или иную версию, когда будете работать над реальным серверным приложением/сайтом.
    Ответ написан
    Комментировать
  • Как сделать выборку в сгруппированном формате?

    @alexalexes
    Я отвечал на подобный вопрос.
    Как произвести правельную выборку статей со всеми тегами?
    В вашем случае посты превращаются в группы, а теги - в занятия групп.
    Ответ написан
    Комментировать
  • Как отправить форму без перезагрузки страницы?

    @alexalexes
    xhr.send(file); // отправили файл аяксом, мы молодцы.
        document.getElementById('uploadDropForm').submit(); // зачем-то еще отправляем форму традиционным способом, наверное тут мы что-то делаем не так.???

    Еще нужно ответить на вопрос "А был ли мальчик?", то есть что вы передаете в метод send:
    ...
    console.log(file);
    xhr.send(file);
    ...
    Ответ написан
  • Как передать в string.match(???) переменную и как сделать автоклик?

    @alexalexes
    1)
    let regExpB = textContent.match(begin); // передаю. и на выходе null
        let regExpE = textContent.match(end );  //

    А вы получаете тот же самый результат, когда begin и end при отладке заменяете на статичные регулярки, по формату аналогичные тому, что формируется в begin и end. Может проблема в корректном формировании begin и end, а не в их выполнении?
    2) addE.dispatchEvent(ev); заменить на addE.click() - вроде самый простой поджигатель события, если на элементе есть обработчик или доступно какое-нибудь действие по умолчанию для клика, то должно работать.
    Ответ написан
    1 комментарий
  • Почему не работают функции mb_convert_encoding() и iconv()?

    @alexalexes
    Страница-источник на самом деле в кодировке utf8 отдается, а не в windows-1251, как это указано в html.
    Конвертировать не нужно, если вам нужен utf8 на выходе:
    header('Content-type: text/html; charset=utf8');
      echo file_get_contents('http://antiko22.info/vse_novosti/dolg-pered-mfo-ne-mozhet-prevyshat-telo-zajma-bolee-chem-v-3-raza/');
    Ответ написан
  • Как реализовать поиск элементов по критериям?

    @alexalexes
    Можно реализовать, но текст запроса нужно конструировать динамически отдельно для конкретного набора обязательных критериев:
    select item.idItem
      from item
     where
    count (SELECT details_item.idItem FROM details_item 
    JOIN detail ON detail.idDetail = details_item .idDetail 
    WHERE detail.title = "Железо"
      and details_item.idItem = item.idItem) > 0
      
      and 
      
      count (SELECT details_item.idItem FROM details_item 
    JOIN detail ON detail.idDetail = details_item .idDetail 
    WHERE detail.title = "Дерево"
      and details_item.idItem = item.idItem) > 0
    
      and 
      
    count (SELECT details_item.idItem FROM details_item 
    JOIN detail ON detail.idDetail = details_item .idDetail 
    WHERE detail.title = "Медь"
      and details_item.idItem = item.idItem) > 0
      
      .... и так далее, все обязательные критерии прописываем через подзапрос count()

    Вариант 2 с нечувствительностью к соответствию одному из параметров поиска:
    select idItem
    from (select item.idItem,
           count (SELECT details_item.idItem FROM details_item 
                    JOIN detail ON detail.idDetail = details_item .idDetail 
                   WHERE detail.title = "Железо"
                     and details_item.idItem = item.idItem) as count_1,
      
           count (SELECT details_item.idItem FROM details_item 
                    JOIN detail ON detail.idDetail = details_item .idDetail 
                   WHERE detail.title = "Дерево"
                     and details_item.idItem = item.idItem) as count_2,
           
           count (SELECT details_item.idItem FROM details_item 
                    JOIN detail ON detail.idDetail = details_item .idDetail 
                   WHERE detail.title = "Медь"
                     and details_item.idItem = item.idItem) as count_3
                     
                    .... и так далее все обязательные критерии через подзрапрос count(...) as count_n 
      from item)  
      where count_1 > 0 and count_2 > 0 and count_3 > 0 -- строгое соответствие параметрам поиска
         -- тут делаем логику нечувствительности к одному из параметров поиска
         or count_1 = 0 and count_2 > 0 and count_3 > 0
         or count_1 > 0 and count_2 = 0 and count_3 > 0
         or count_1 > 0 and count_2 > 0 and count_3 = 0
    Ответ написан
    Комментировать