Задать вопрос
  • Как хранить закупочную цену в интернет-магазине?

    @alexalexes
    В таблицах "Товары" и "Поставки" не нужно создавать дополнительных внешних ключей к таблице "Цена". Текущих полей таблицы "Цена" достаточно, чтобы определять начальную цену товара (как розничной, так и закупочной) в момент создания записей в таблицах "Товары" и "Поставки", так и добавлять динамику изменения цен.
    Я убрал лишний комментарий. Добавил комментарий, как пользоваться id_cost_next.
  • Как получить видео через API Вконтакте?

    @alexalexes
    Как раз access_key - не бесполезные сведения из вложения пользователя, он и нужен для обращения к самому вложению.
    https://vk.com/dev/access_key
  • Как собрать базу воедино?

    @alexalexes
    А что мешает запустить заново openserver с конфигом MariaDB-10.3 и уже в нем экспортировать дамп?
    (Контекстное меню опенсервера -> настройки -> модули. Выбрать параметр MySQL / MariaDB).
  • Как правильно перенести файлы одного пользователя на другой диск для Windows 10?

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

    У каждого файла и каталога в NTFS есть набор привилегий, настраиваемый в свойствах, раздел "Безопасность". Если вы позаботитесь, чтобы они остались идентичными прежним для разных ролей пользователей (система, администратор, пользователи, гость и т.д.), то и доступ будет соответствующий.
    Они могут сбросится, потому что некоторые пользователи от системы к системе называются по разному.
    Если не хотите сбрасывать права на каталог, то при копировании заменяйте не каталоги, а содержимое каталогов.
  • Как перебирать массивы, которые находятся внутри других массивов?

    @alexalexes
    Можно и в одну строчку написать, если все вложенные объекты являются обычными массивами.
    У каждого массива есть метод forEach. Плюс синтаксис функции итератора можно сделать стрелочным, чтобы не писать много букв.
    _data.forEach((post) => {post.body.blocks.forEach((block) => {block.data.forEach(data_elem){})})});
  • Как сделать поиск в двух таблицах?

    @alexalexes
    Уберите из where "p.id = 2001 and" и получите условие для всех записей.
    SELECT * FROM wp_posts a
    /* куда дели where ????? */
    NOT EXISTS (SELECT * FROM wp_reviews b where a.ID = b.company_id)
  • Можно ли сделать этот SVG адаптивным?

    @alexalexes
    Можно в html вставить как тэг svg вместе с его специфичным содержимым, чтобы не усложнять жизнь, используя фон. Когда укротите тэг, можно вернуть содержимое обратно в файл и попробовать работать со свойством background.
    ПС: Не плодите лишних вопросов - https://qna.habr.com/q/1064642
    Ответ на него будет примерно:
    Оставьте пустые размеры svg или задайте их по 100%.
    <svg ... height="100%" width="100%"

    Редактируйте текущий вопрос, дополняя его новыми непонятками.
  • Какие типичные задания на алгоритмы можно встретить в JS?

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

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

    @alexalexes
    Есть такая функция в PHP. Только нужно убедиться, что протокол SMTP настроен и функционирует на вашем экземпляре сервера.
  • Какие типичные задания на алгоритмы можно встретить в JS?

    @alexalexes
    1) Попробуйте создать DOM-узел.
    2) Напичкать его потомками с различной вложенностью.
    3) Попробуйте еще засунуть текстовые ноды.
    4) Найти потомка в DOM-узле и добавить обработчик события.
    5) Из обработчика события обратиться к родителю или потомка DOM и что-то с ним сделать.
    6) Пересортировать детей в DOM-узле.
    7) Переместить DOM-узел, не растеряв его обработчики, перед определенным узлом или после.
    8) Добавить на одно событие больше одного обработчика событий.
    9) Удалить конкретный обработчик событий, не убив все обработчики одного и того же события.
    10) Определите, что функция не работает в данном интерпретаторе JS (то бишь браузере) и попробуйте переключиться на полифил, не потеряв ее функционала.
    Типичный список задач, чем может заниматься JS на странице, что может выносить мозг тому, кто входит в эту технологию.
    PS: Это еще не полный список. Когда пойдете изучать взаимодействия с сервером, будете развлекаться с функциями ответами (коллбэки) и всякими новомодными промисами, чтобы сделать очередь обработки событий.
  • Как заменить localhost:8000 на мой домен?

    @alexalexes
    this.source = await axios.get('/about')
        document.baseURI = 'https://domain'

    Может просто синтаксические ошибки, потому что точки с запятой не поставили в конце строк?
  • Как заменить localhost:8000 на мой домен?

    @alexalexes
    Если вы беспокоитесь, что поломаются относительные ссылки на ресурсы html страницы, то в заголовке страницы нужно прописать тэг base, см. документацию.
    Если у вас ссылки и так начинались с корня сайта /. То смысла прописывать нет.
  • Как сохранить состояние первой загрузки сайт?

    @alexalexes
    Как обращаетесь к кукам?
    Используете ли специальный пакет в дополнение к vue?
  • Как сохранить состояние первой загрузки сайт?

    @alexalexes
    Используйте переменную cookie для сохранения и восстановления выбранного языка.
  • Почему sql запрос в php работает неверно?

    @alexalexes
    Тут есть маленький недочет, с обработкой ошибок при использовании запроса проверки дубликатов.
    Если как-то накосячить в запросе проверки, или СУБД перестанет возвращать ожидаемый результат, то проверка будет проигнорирована, и выполнится желаемое для пользователя действие без фактической проверки.
    Нужно, чтобы отрицательный исход проверок (нет дубликата), был точно интерпретирован как отрицательный исход при действительно корректно выполненном запросе.
    Где-то так:
    if($stmt->execute())
    {
      if ($stmt->fetch()) 
      {
        // есть, дубликат
      }
      else
      {
        // нет дубликата, можно регистрировать заявку
      }
    }
    else
    {
      echo 'Ошибка в запросе проверки дубликатов учеток!'
    }

    Чтобы повысить читаемость кода, лучше проверять не попытку фетчить, а сколько строк получает этот запрос.
    $stmt->store_result();
    if($stmt->num_rows == 0)
    {
    }

    Есть вариант, когда при успешном запросе можно быть уверенным, что в результате будет колонка с единственной строкой, причем с числом.
    $stmt = $connection->prepare("SELECT count(*) as cnt FROM users WHERE email = ? OR phone = ? limit 1");
    ....
    $row = $stmt->get_result()->fetch_assoc();
    if(isset($row['cnt'])) // если ли колонка
    {
    if($row['cnt'] == 0) // там точно что-то числовое, не null, не пустой массив, а именно число
    {
    }
    }
  • Почему includes у массива сначала возвращает true, потом false?

    @alexalexes
    Функция includes чувствительна на сравнение данных не только по значению, но и по типу.
    Ответьте для себя на такие вопросы:
    let bookmarksArray = localStorage.getItem("currentBookBookmarks").split(",");

    Вы уверены, что в bookmarksArray получаются именно элементы как числа, а не строки с цифрами?
    let currentPage = localStorage.getItem("currentPage");

    А из локального хранилища какого типа данные выходят?
    Функция typeof () вам в помощь.
  • Почему перестал работать file_get_contents?

    @alexalexes
    Все равно, проработайте вариант с ОС по другому совету. Этот, все таки, вариант аварийного решения, чтобы заработало здесь и сейчас.
  • Как в javascript игнорировать   и(или) считать его простым пробелом?

    @alexalexes
    скобки, а js их на свой счёт принимает.
    та же чушь если * в тексте.

    text1 = /тут длинная строка. слова разделены пробелами/g,
        text2 = /тут другая строка. слова разделены пробелами/g,

    Ну, так это не строки для замены, а регулярные выражения. Скобки, звездочка, и точка и кое-чего еще - это все синтаксически значимые элементы в регулярках, поэтому они и учитываются. Если вы хотите использовать регулярки в функции замены строки, то должны правильно ее составить, экранировав синстаксически значимые символы в просто символы.
    но по факту же это тоже пробел

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