• Как добавить v-bind:style к первому элементу, созданному в цикле v-for?

    @alexalexes
    Михаил, спасибо, что поправили.
    Директива v-bind эквивалента работе правой части оператора присваивания, как в обычном коде JS, свойства Vue - вычисляемые, значит можно и свою вычисляемую логику подсунуть, вопрос лишь в том, как это отразится при рендеринге. Поэтому, нужно помнить, чтобы вычисления были не слишком тяжелые.
  • Как жестко сравнить часть строки в jQuery?

    @alexalexes
    А не проще ли все всем чекбоксам дать некий уникальный атрибут, а картинкам некий набор атрибутов чекбоксов, при клике на картинку, атрибуты указатели на чекбоксы перебираются и чекбоксы по ним проставляются?
  • Какие существуют кодировки на подобии Base64?

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

    @alexalexes
    Тогда вам надо иметь ввиду, что при инициализации либо всего объекта vue либо набора компонентов, бизнес логика теста может разветвиться, исходя из состояния прохождения теста.
    От сервера запрашиваете данные клиента.
    1. Если он не начинал тестирование, то инициализируете состав компонентов для старта тестирования.
    2. Если клиент стоит на каком-то вопросе, то инициализируете набор компонентов и подгружаете данные для них, тем самым вы построите промежуточное состояние теста. Не обязательно, что этот процесс будет в виде сериализации и десериаизации компонентов. Это самый простой, но грубый способ, так как в базе данных, данные хранятся по свойствам, и собирать объект-клон лучше тоже по свойствам.
    3. Если клиент завершил тестирование, то компоненты прохождения тестирования могут вообще отсутствовать, присутствовать только отчет о пройденном тестировании, например.
    Сложно подсказать, где должно находится такое ветвление в вашем проекте, но оно должно быть реализовано на каком-то из этапов инициализации компонентов.
  • Как сохранить компонент vue со всеми изменениями и затем отрендерить этот компонент в таком же состоянии?

    @alexalexes
    Какой концепции фиксации действий клиента вы следуете?
    1. Клиент проходит весь список тестов, после происходит рапортование на сервер.
    2. Клиент делает любое значащее действие, сведения об этом действии сразу передаются на сервер.
    И второй вопрос, как вы инициализируете компонент в методах жизненного цикла mounted, beforeMount, created или beforeCreate?
    Если вы не знакомы с этими методами, то вопрос отпадет, если вы их реализуете с учетом концепции 2, то есть при инициализации компонента запрашиваете то, что сохранено на сервере от предыдущего сеанса теста, и вы восстановите состояние компонента до последнего значащего действия пользователя.
  • Как хранить дату и время замера в бд mysql?

    @alexalexes
    У вас не только проблема с выбором формата даты, но и как хранить замеры.
    Клиент на сайте выбирает время и дату (сегодня + 5 дней).

    Что это значит?
    У замерщика есть 5 попыток дойти до клиента в определенное назначенное время?
    Как будут идти дни замера - подряд от заданной даты клиентом, или клиент может выбирает определенные дни недели (пн, ср, пт) или дни месяца (1, 5, 10, 13 число)?
    Когда клиент подает заявку, бронируются все 5 дней, или только ближайший?
    Сколько дней нужно замерщику, чтобы выполнить заявку?
    Как долго может длиться один выезд замер?
    Нужна ли возможность корректировать время последующих выездов на замер, если первый не состоялся?

    Уточните эти вопросы предметной области, и сможете получить ответ, какую структуру базы вам ближе всего подойдет.
  • Как отследить появление элемента на экране и получить его id?

    @alexalexes
    Пока тут не пропишите селектор, который извлечет коллекцию элементов, цикл не заработает:
    var elems = $();
  • Триггер mysql меняет все записи на последнюю, как это исправить?

    @alexalexes
    В том триггере у вас, скорее всего, был update без условия where - это значит, обновление будет применяться к каждой записи.
  • Как отсортировать массив так, чтоб превратить в древовидную структуру?

    @alexalexes
    Если пишите реализацию на js или php, то проще всего сложить в ассоциативный массив, а потом распечатать результат, переведенный в json.
    $input = [
      ['0', 'Slate', 'Single'],
      ['1', 'Slate', 'Single'],
      ['2', 'Slate', 'Single'],
      ['3', 'Slate', 'Single'],
      ['4', 'Slate', 'Single'],
      ['5', 'Slate', 'Single'],
      ['0', 'Slate', '3-Pack'],
      ['1', 'Slate', '3-Pack'],
      ['2', 'Slate', '3-Pack'],
      ['3', 'Slate', '3-Pack'],
      ['4', 'Slate', '3-Pack'],
      ['5', 'Slate', '3-Pack']
    ];
    
    $out = [];
    
    foreach($input as $inp)
      $out[$inp[0]][$inp[1]][] = $inp[2];  
    
    echo json_encode($out);
    
    /* Результат:
    
    Array
    (
        [0] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
        [1] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
        [2] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
        [3] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
        [4] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
        [5] => Array
            (
                [Slate] => Array
                    (
                        [0] => Single
                        [1] => 3-Pack
                    )
    
            )
    
    )
    
    */


    Но, я думаю, вам нужны именно теоретические выкладки.
  • Не работает запись данных?

    @alexalexes
    Сделайте var_dump этому условию перед if:
    var_dump(!empty($username) && !empty($password1) && !empty($password2) && (password1 == password2));

    А распечатать ошибку?
    echo mysqli_error($dbc);
  • Как не добавлять дубликаты в MySql при импорте из csv?

    @alexalexes
    $lineseparator = "\n"; - посмотрите, какой символ отвечает за перенос строк, там может быть пара.
    ....
    LINES TERMINATED BY - эту клаузу забыли добавить в запрос.
  • Почему хук не срабатывает первый раз?

    @alexalexes
    Разберитесь какую переменную activeSlide меняет setActiveSlide, а какую переменную берет beforeChange.
    Не является ли activeSlide локальной переменной в setActiveSlide? Не поступает ли она внутрь функции через обертку замыкания? Нужно ли пользоваться переменной activeSlide или лучше запросить состояние объекта слайдера еще раз, чтобы узнать, какой слайд активный?
  • В чём главное отличие информации от ключей?

    @alexalexes
    Опишите по подробнее, какие деревья вы имеете ввиду.
  • Как сделать выбор таблицы из select для запроса?

    @alexalexes
    Вставку записей в БД производят insert-ами, какие данные и в какие таблицы что вставлять - это определяется бизнес-логикой, которую вам следует разработать (или скорректировать, если уж взялись за готовый проект).
  • Не приходит товар на почту после оплаты?

    @alexalexes
    Ну, тогда нужны ответы на вопросы отладки:
    if ($signature != $_REQUEST['sign']) {
        die('bad sign!');
    }
    
    die('OK'); 
    $request->setdb($conn,'products','game_type',$product,'used',0,1);

    1. Что сыпет в лог функция die, проходя эти строки? Проходит ли выполнение скрипта эти строки?
    2. А есть ли значение $product перед выполнением запроса?
    PS:
    После обработки данных формы покупателя ваш скрипт все равно плотно взаимодействует с платежным сервисом:
    Все запросы отправляются методом GET/POST, ответ в формате JSON.

    Так что не откладывайте использование curl далеко.
  • Какой роутер выбрать для интернета от двух провайдеров?

    @alexalexes
    Тогда оставьте сохраненный WAN-профиль в роутере для первого провайдера, но не активируйте его, а настройте еще одну настройку для второго провайдера. На первый профиль переключитесь (ну и кабель тоже), когда второй провайдер отвалится. Большей практической пользы от наличия двух каналов вы все-равно не извлечете.
  • Не приходит товар на почту после оплаты?

    @alexalexes
    Не надо curl, все правильно.
    header loсation делает это:
    магазин должен отправить покупателя по данному адресу с передачей параметров

    Php-сервер http-заголовком сообщает браузеру покупателя, что нужно перейти на адрес:
    https://anypay.io/merchant?merchant_id=".$shop_id."&amount=".$amount."&pay_id=".$pay_id."&currency=".'RUB'."&sign=".$sign."&email=".$email.""
  • Как объединить таблицы?

    @alexalexes
    Так то это базовый навык работы с SQL - приготовить выборку под свою задачу.
  • Почему в PHP zlib не работает во врапперах?

    @alexalexes
    Не поможет.
    Нашел вот такой комментарий на Хакере.
    https://xakep.ru/2012/11/22/php-filter-wrapper-attacks/
    При всех выгодах данный метод уничтожения стопперов не может быть универсальным. В 2009 году было замечено, что функция base64_decode некорректно обрабатывает строки, содержащие в середине знаки равенства [#47174]. Этот баг был довольно оперативно исправлен для функции base64_decode, но для фильтра convert.base64-decode никаких исправлений сделано не было. Поэтому, если при «выдавливании» на каком-то шаге получаются данные, содержащие знак равенства, дальнейшее применение фильтра convert.base64-decode уничтожит преобразуемую строку.

    $s = 'php://filter/read=convert.base64-decode/resource=data:,dGVzdA==CRAP'; 
    var_dump(file_get_contents($s)); // print: string(0) ""