Задать вопрос
  • Организация базы данных mysql?

    @alexalexes
    Смотрите, как реализовывается связь "многие ко многим".
    То есть, вам нужна промежуточная третья таблица.
    partner_and_product_type
    part_id - идент. партнера
    prod_type_id - идент. типа продукции.
    Тогда сможете вносить на любого партнера несколько типов продукции.
    Ответ написан
    2 комментария
  • Как сделать 2 рабочих стола на 2 мониторах со своими активными окнами?

    @alexalexes
    В Windows вы не развяжите органы управления, чтобы мышь и клавиатура была своя на каждый рабочий стол. Так что в каком-то виде виртуализация нужна, чтобы такое сделать.
    Ответ написан
    1 комментарий
  • Можете помочь с драйверами для матринки Intel dz77bh-55k?

    @alexalexes
    Тут вроде бы есть непропатченные агрегатором драйверов архивы.
    https://driver.ru/?H=DZ77BH-55K&By=INTEL
    Попробуйте установить драйвера, которые для windows 7 x64.
    PS: Сейчас трудно найти исходные архивы драйверов, которых не коснулась рука агрегаторов.
    Берегите такие файлы, если планируете до последнего замучить материнку или ноутбук.
    Ответ написан
    Комментировать
  • Почему SQL-запрос возвращает дубли?

    @alexalexes
    Выведите все свойства выборки - увидите разницу в строках.
    SELECT *
      FROM

    Нужны уникальные строки - придумайте как их проранжировать и отсечь лишние порядковые номера ранжа.
    Если лень разбирать, то используйте distinct, скорость выборки будет страдать, если строк и колонок много.
    Ответ написан
    3 комментария
  • Как избежать явного первичного ключа?

    @alexalexes
    Можно сделать локальный id истории, уникальный в пределах одного контакта.
    Получается, будет уникальный id контакта + id истории. Вы емкость одного идентификатора размажете на два.
    Сортировать можно, находить нужную запись истории можно. Какая запись истории появилась раньше у соседних контактов - скорее всего нельзя выяснить, если нет сквозного id.
    На первый взгляд такие возможности и недостатки.
    Ответ написан
  • В чем лучше указывать ширину и высоту блоков?

    @alexalexes
    Зависит от назначения блоков.
    Точные размеры, да, возможно, примените пиксели, а может и сантиметры или дюймы.
    Относительные размеры понадобятся - возьмете проценты.
    Растягивать относительно содержимого - вообще будет auto.
    Адаптивно будете работать - еще куча альтернативных размеров появится в медиа-запросах.
    Ответ написан
    Комментировать
  • Простая производная?

    @alexalexes
    Чисто дилетантский разбор примера по школьным воспоминаниям:
    (y - w * x) ^ 2 = y ^ 2 - 2ywx + (wx) ^ 2
    Смотрим, что будет с каждым слагаемым правой части выражения, если применить производную относительно w:
    y ^ 2 = будет константой, сразу забудем про нее.
    - 2yx = коэф. первого порядка (смотрим в школьные правила, что-то происходит с линейными функциями).
    2x ^ 2 w = коэф. второго порядка (смотрим в школьные правила, что-то происходит с параболой).
    Получим:
    - 2yx + 2x^2 w
    Что-то вынесем за скобки:
    2x (-y + xw)
    Красиво напишем минуc:
    -2x(y - xw)
    Ответ написан
    1 комментарий
  • Как отфильтровать массив php через foreach?

    @alexalexes
    Вы еще извращеннее вывод могли придумать, чтобы избегать накопления вывода в отдельной переменной, чтобы код был максимально неподдерживаемый для разработки?
    Вот решение:
    <?foreach ($arResult["PARTNERS"] as $partners) {if($partners['NAME']=='test')continue;?>
    Ответ написан
    1 комментарий
  • Как добавить текст к value при отправке?

    @alexalexes
    Добавляете еще одно скрытое поле с id="field_name_hidden", видимому полю присваиваете id="field_name_showed". Добавляете форме свой обработчик события onsubmit.
    <form .... onsubmit="my_submit(e)">
    ...
    <label>Имя</label>
    <input id="field_name_showed" type="text"  value=""> <!-- Поле, которое видит пользователь -->
    <input id="field_name_hidden" type="hidden"  value=""> <!-- Скрытое поле для отправки -->

    function my_submit(e)
    {
      e.preventDefault(); // останавливаете выполнение сабмита
      document.getElementById("field_name_hidden").value = document.getElementById("field_name_showed").value + " (добавленный текст)"; // добавляете в скрытое поле формы имя и что хотели еще.
     e.target.submit(); // перезапускаете сабмит формы
    }

    На стороне сервера перехватываете значение поля field_name_hidden.
    Ответ написан
    Комментировать
  • С помощью чего можно написать CMS?

    @alexalexes
    Берете любой готовый курсач по теме "Создание интернет магазина" из курса "Сетевые информационные технологии".
    Например, такой (не факт, что рабочий).
    Смотрите, чтобы в приложениях к курсачу были все исходники css/js/php/html.
    Если поделка запустилась и выполняет базовые действия с регистрацией, наполнением корзины, и возможно, создания заказа. То вы получили минимальный стенд, чтобы посмотреть как оно работает без CMS.
    PS: На бою использовать крайне не желательно, если только вы уже знаете все подводные камни, на которые натыкаются студенты и как доработать это напильником.
    Ответ написан
    1 комментарий
  • Как пересобрать массив с элементами?

    @alexalexes
    Если вы видите, что пишите один и тот же код повторно, значит, пора общую часть кода выносить в функцию или метод. И эта ситуация может случиться не обязательно в модуле валидации.
    Пишите базовые функции:
    а) проверка обычной строки на минимум и максимум по длине;
    б) проверка радиокнопки;
    в) проверка чекбокса;
    г) выпадающего списка.
    Все остальные функции будут вызывать что-то из этого базиса и допроверять свойства поля, например, email вы проверяете функцией А на корректность длины, а потом валидность по регулярке. Если длина не та, то предупреждения выведете из функции А, а регулярку не станете проверять, а если косячит по регулярке, то уже будет предупреждение, что email некорректен.
    Ответ написан
    1 комментарий
  • В каком виде хранить данные о товарах в бд?

    @alexalexes
    В таблице param задавайте тип данных этого параметра, а таблице product_param весь набор полей данных, который нужен будет для описания любого параметра. Могут быть не только типы, стандартные для БД, но и по предметной области (интервалы, габариты и тд).
    param (id, type_data /*тип данных параметра или размерность (лучше размерность вынести еще одним свойством)*/, name)
    product_param (product_id, param_id,
    value_int -- целое
    value_int2 -- целое для типов интервалов целых (с value_int по value_int2 )
    value_str -- строка
    value_date -- дата
    value_date2 -- дата для типов интервалов дат (с value_date по value_date2)
    )
    Ответ написан
    Комментировать
  • При выборке двух таблиц с БД одним запросом, на выводе получаются дубликаты. В чем может быть проблема?

    @alexalexes
    Если просто нужен флаг, что товар в корзине, то достаточно этого запроса.
    SELECT p.*,
                case
                   when exists(SELECT 1 from cart c where c.products_id = p.id)
                   then 1
                   else 0
                end is_exists_in_cart -- есть товар к корзине? 0 - нет, 1 - есть
    FROM table_products p

    Если нужны параметры товара, а не только его наличие, то как минимум будет такая конструкция:
    SELECT p.*, c.*
    FROM table_products p
    left join cart c on c.products_id = p.id

    PS: Конструкция запроса может сильно меняться от того, какие свойства вам нужно извлечь, чтобы вывести в итоговую выборку.
    Ответ написан
    Комментировать
  • Не могу отследить http запрос при нажатии на кнопку сайта?

    @alexalexes
    Если это страница сайта, то берете браузер Chrome. Открываете панель разработчика F12, открываете вкладку Network, включаете прослушивание, устанавливаете вывод всех типов запросов. И жамкаете нужную кнопку, ни один запрос не проскочит без регистрации.
    Ответ написан
    1 комментарий
  • Как зупустить таймер по окончанию?

    @alexalexes
    Создайте функцию получения времени следующего понедельника
    function init_counter_time()
    {
    var d = new Date();
    d.setDate(d.getDate() - (d.getDay() + 6 ) % 7 + 7);
    d.setHours(0);
    d.setMinutes(d.getTimezoneOffset()); // компенсируем смещение временной зоны у пользователя.
    d.setSeconds(0);
    d.setMilliseconds(0);
    return d.getTime(); // обратите внимание, что время извлекается по таймзоне +0000!!!
    }

    И используйте при инициализации:
    // var countDownDate = new Date('10 October 2020 21:00').getTime();
    var countDownDate = init_counter_time();

    и при обнулении счетчика:
    if (distance < 0) {
           // clearInterval(x);
          countDownDate = init_counter_time();
        }
    Ответ написан
    1 комментарий
  • При переносе скрипта из .html файла в .js он перестает работать. Почему?

    @alexalexes
    DOM еще не доступен, когда скрипт пытается работать с его элементами.
    Два пути решения:
    а) Перенести подключение js файла после тега body.
    б) Изменить работу скрипта так, чтобы работа с DOM началась после загрузки DOM-дерева.
    Ответ написан
    1 комментарий
  • Как обернуть заголовок товара в тег a?

    @alexalexes
    Попробуйте тег a тоже поместить в the_title().
    <?php the_title('<a href="'.the_permalink().'" class="wpb-wps-product-title"><p class="pro title">', '</p></a>') ?>
    Ответ написан
  • Почему так рано удаляется временный файл?

    @alexalexes
    public function  getTemplatePath(где аргумент $template?)
    Ответ написан
  • Как верстать правильно если на компьютерах стоит разный зум в настройках windows?

    @alexalexes
    Вам нужно определиться, какую цель вы преследуете при выборе свойства font-size.
    1. Физический размер элемента не должен отличаться или малозависим от настроек браузера устройства.
    Решение: используем физические величины: mm, cm, in.
    2. Размер элемента должен быть всегда столько-то пикселей. Используем px.
    3. Размер шрифта должен адаптироваться под возможности комфортного отображения на устройстве.
    Используем pt, em, %. В этом случае тестируете разные режимы адаптивности сайта: у пользователя может отличаться размер экрана, плотность пикселей, он может крутить масштаб скажем, от 60% до 150%.
    На разработчика ложится это обязанность, чтобы сайт выглядел приемлемо, в разумных изменениях настроек отображения.
    Могу путать величины CSS, но такие цели точно есть, и они взаимоисключающие.
    Ответ написан
    1 комментарий
  • Почему не работает условие ИЛИ?

    @alexalexes
    То что вы пытаетесь написать:
    if (question === 1||3)
    Значит: "условие ИЛИ какое-то число, эквивалентно true". То есть 3 - это эквивалент true. Ноль будет эквивалентом false. Посмотрите, чему будут эквиваленту отрицательные числа, мне лень смотреть документацию или пробовать консоль.

    В вашем случае, решение будет выглядеть так:
    if (question === 1|| question === 3)
    Если охота использовать перечисление в надежде сократить условие, то это может выглядеть так:
    if ([1,3].indexOf(question) > -1)
    Ответ написан
    Комментировать