• Как найти папку с DOCUMENT_ROOT?

    svisch
    @svisch
    /home/u/username/sitename.ru/public_html - это абсолютный путь расположения скрипта на веб-сервере.
    В админке битрикс скорее всего видит файлы начиная с public_html, где он и лежит видимо.
    Ответ написан
    2 комментария
  • Как мне составить правильный SQL запрос?

    @alexalexes
    SELECT  *
    FROM  multfilms as m
    where m.title like '%Шрек%'
    union
    SELECT  *
    FROM  multserials as m
    where m.title like '%Шрек%'

    union будет работать, при условии, что выборках одинаковое кол-во колонок и данные в них одинакового типа.

    Но вообще, если вы под каждый тип контента создаете новую таблицу с почти однотипными атрибутами - значит, это признак того, что вы делаете ошибку проектирования с точки зрения архитектуры реляционных баз.
    Правильно сделать так:
    Сделать таблицу типа фильма по контенту:
    film_content_type
    С атрибутами:
    id - идент. типа
    full_name - полное название типа контента (фильм, мультфильм, сериал и т.д.)
    ... другие атрибуты типа фильма.

    И у вас будет единственная таблица с фильмами:
    films
    атрибуты
    id - идент. фильма
    content_type_id - тип фильмового контента (внешний ключ к таблице film_content_type)
    title - Название фильма
    ... другие атрибуты фильма

    Тогда запрос будет такой:
    SELECT  f.*, 
           t.full_name
    FROM  films f
    join film_content_type t on t.id = f.content_type_id
    where f.title like '%Шрек%'

    Вы можете спокойно добавлять новые типы фильмов в справочник типов, и добавлять новые атрибуты в таблицы, а основной каркас запросов поиска не поменяется.
    Ответ написан
    1 комментарий
  • Что означает данная запись в PHP?

    В данном коде формируется массив в котором ключ массива задается из $row['key'], а значение из $row['value'].
    $row['value'] в квадратных скобках для того, чтобы элемент массива был также массивом.

    // исходная строка
    $options[$k] = [$row['value']];
    // означает то же самое, что
    $options[$k] = array($row['value']);
    // или
    $options[$k][] = $row['value'];


    В вашем случае используется короткий синтаксис для array(), который поддерживается с версии 5.4.
    $array = array(
        "foo" => "bar",
        "bar" => "foo",
    );
    
    // Использование синтаксиса короткого массива
    $array = [
        "foo" => "bar",
        "bar" => "foo",
    ];


    Подробнее о массивах php здесь:
    https://www.php.net/manual/ru/language.types.array.php
    Ответ написан
    Комментировать
  • Как запросом проверить входит ли дата из списка в диапазон дат?

    @alexalexes
    Выносите даты в отдельную таблицу:
    Название таблицы: location_event_dates
    id - идентификатор даты;
    location_event_id - идентификатор из таблицы location_event (то, что у вас в вопросе)
    event_date - одна из дат события (в формате даты, а не строки!)
    Тогда будет нормальный поиск:
    select le.id, le.locationid, le.eventid,
              led.event_date
    from location_event le
    join location_event_dates led on led.location_event_id = le.id
    where led.event_date between :begin_date and :end_date
    Ответ написан
    Комментировать
  • Как добавить selected, при выборе option?

    v3shin
    @v3shin
    Веб-шаман
    <option value="<?= $modell ?>" <?= $modell === $someValue ? 'selected' : '' ?>>

    Но, черт, побери, уберите логику от представления и перепишите код для защиты от sql-инъекций.
    Ответ написан
    Комментировать
  • Не получается переписать код с php на python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Заголовок X-Sign определён в словаре headers, но вместо него в параметр headers вы почему-то передаёте переменную test.
    Ответ написан
    1 комментарий
  • Почему php выводит в консоль все подряд?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Проблема в том, что в php.ini, используемом cli выключена директива short_open_tag. Поэтому вместо исполнения php-файл читается как текст.
    Ответ написан
    4 комментария
  • Как реализовать отправку данных с сайта в программу?

    @zxf
    Вариант 1: Почитайте о WebSocket’ах:
    https://developer.mozilla.org/ru/docs/Web/API/WebS...

    Вариант 2: HTTP запросы из программы на сервер с определенным промежутком времени.

    В чатах, проблема извещения участников о новых сообщениях имеет ту же суть, что и Ваша задача. Для уведомления подключенных участников о том, что поступило новое сообщение используется технология WebSocket’ов.
    Ответ написан
    Комментировать
  • Как весь блок заполнить точками?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Повторяющимся радиальным градиентом
    https://jsfiddle.net/Ankhena/h21s4o0m/
    Ответ написан
    Комментировать
  • Нужен совет опытных WEB разработчиков?

    @rPman
    Самый неправильный способ обучения - с конца. Это очень неэффективно если не бессмысленно, изучать программирование непоследовательно.

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

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

    Советую изучать с низов, самостоятельно, чтобы было понимание каждого шага, всего что происходит.
    * операционные системы, процессор и многопоточность, сети,...
    глубоко изучать это не требуется но базовые понимания нужны чтобы не получать медленное приложение только потому что не знал что каждый твой запрос в tcp это 'туда-сюда', и это медленно (десятки миллисекунд), что одновременно два человека пытающиеся что то изменить на сайте нужно разруливать чтобы не было конфликтов и т.п.
    * бакэнд и фронтэнд
    буквально что значит запрос и генерация ответа, какие бывают способы организации этого бакэнда (http rest и к примеру websocket), не понимание разницы между бакэндом и фронтэндом у новичков рождает абсурдные вопросы как из javascript изменить переменную php (и наоборот)... в чем разница между генерацией страницы на сервере и в браузере.
    * html, css,..
    верстка и дизайн, отдельный мир браузерных стандартов, исторических наслоений,. когда стоит применять фреймы, почему шрифты по разному выглядят, разные устройства и размеры экранов, разные способы взаимодействия (сенсорный экран, мышь, клавиатура)...
    * базы данных
    еще более огромный мир атомарных транзакций, индексов, нормальных форм и прочего
    * девопс
    без умения выбрать инструмент, настроить тулчейны, среду разработки, среду исполнения (веб сервер), настроить бакапы и прочее пытаться что то разрабатывать это как в слепую гулять по лесу, будешь постоянно на ветки натыкаться
    ...
    это я еще про системную аналитику не сказал, обычно прежде чем что то создавать, нужно продумать как это все делать, что такое технический долг и т.п., а еще есть тестирование, обслуживание, работа с отказами (сервер сдох, база упала, как все восстановить), обновление на живую и прочие веселья

    без понимания всего этого, даже поверхностного, будешь натыкаться на огромные дыры в разработке.
    Ответ написан
    7 комментариев
  • Могут ли быть два типа связи одновременно между двумя таблицами?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Но тут, внезапно возникает необходимость в отслеживании у пользователя текущего заказа, т.к. заказ и корзина в условиях текущего приложения по сути одно и то же, только заказ может быть активным, либо нет.

    Изменение техзадания требует забыть про всё ранее сделанное и начать сначала - то есть заново выполнить полный анализ предметной области с выделением сущностей-атрибутов-связей и построением ER-диаграммы. В ходе которого обнаружится, что схема претерпела радикальное изменение, и некоторые уже имеющиеся структуры (а лучше - все) следует спустить в унитаз и создать заново. Ибо в схеме появилась новая сущность, к тому же связанная с уже имеющейся сущностью отношением pattern-instance, которое даже при правильной реализации отличается повышенной проблемностью.

    Абстрагировавшись от всей теории разработки БД, выбираю самое простое решение ..

    Вы же вместо того, чтобы делать как надо, решили делать через одно место (причём это явно не голова). Как результат - неустранимое противоречие между теорией и получившейся поделкой-уродцем. На что собственно и указал преподаватель, отказавшись смотреть на полученное.

    Чем скорее Вы смиритесь с тем, что следует начать работу заново, тем больше у Вас будет времени на её выполнение...
    Ответ написан
    Комментировать
  • Как в таблицу sql с 4 столбцами вставить список значений, в котором может быть меньше 4х значений?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Пример реализации, когда показанный список передаётся в запрос как один (многострочный) строковый литерал @list:

    INSERT INTO test (a,b,c,d)
    SELECT a,b,c,d
    FROM JSON_TABLE(
      CONCAT('[', REPLACE(REPLACE(@list, '(', '['), ')', ']'), ']'),
      '$[*]' COLUMNS (
        a INT PATH '$[0]',
        b INT PATH '$[1]',
        c INT PATH '$[2]',
        d INT PATH '$[3]'
        )                   
      ) jsontable

    DEMO fiddle

    Если данные на вставку лежат в файле - есть функция LOAD_FILE (не забыть GRANT FILE).
    Если данные передаются из языка/фреймворка - разумнее прямо там создать JSON и не париться с CONCAT и REPLACE.
    Если NULL не устраивает - добавить COALESCE.
    Ответ написан
    Комментировать
  • Как обнаружить объект на изображении?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Всё зависит от того что пытаться распознать на изображении.
    Для простых геометрических фигур типа линий и окружностей/эллипсов есть метод преобразований Хафа (Hough).
    Лица и прочие подобные объекты можно детектировать методом Виолы-Джонса с помощью каскадов Хаара.
    Есть ещё метод корреляции для поиска совпадений по шаблону.
    Для сложных объектов - машинное обучение и вплоть до полной невозможности распознавания, т.к. эта задача в полной мере не решена и не может быть математически описана.

    Какая конкретно стоит задача?
    Ответ написан
    4 комментария
  • Как правильно совместить DELETE и LEFT JOIN?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Синтаксис Firebird в принципе не предусматривает многотабличного удаления. Никаких JOIN - это не MySQL. Нужно фильтровать записи - добро пожаловать в мир коррелированных подзапросов и [NOT] EXISTS.

    Руководство по языку SQL для Firebird 2.5, страница 246.
    Ответ написан
    Комментировать
  • Почему поступает пустой запрос, и выдает ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бросайте вы эти видеоуроки, они вас плохому научат.
    1. Не надо напрямую подставлять переменные в запрос, для этого есть плейсхолдеры. Читать про SQL Injection.
    2. Не надо руками ловить ошибки mysqli. Надо устанавливать правильные опции при подключении. Читать https://habr.com/ru/post/662523/
    3. Если уж вы ловите ошибки самостоятельно, то выводите полный текст ошибки, а не просто паническое "Ой, что-то случилось!".
    4. Не надо хранить в своей базе данные кредитных карт клиентов, да ещё и вместе с CVV. Учитывая пункт 1, это всё равно, что писать их на заборе. Читать про PCI DSS.
    Ответ написан
    4 комментария
  • Может ли быть MVC Без views?

    View - это не всегда то, что видит пользователь.
    Под View также вполне подпадает json-объект, который возвращает контроллер в случае апишки.


    Или для чистого API есть более подходящие архитектуры?

    MVC - это не то чтобы архитектура, строго говоря. Скорее паттерн, который может быть реализован по разному.
    У тебя есть какие-то объекты-представления, которые отдаются клиенту, какая-то модель предметной области, в которой описаны все ограничения и возможные операции, и контроллер, который гоняет из одного в другое.

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

    А так вообще для вдохновения посмотри на:
    - Hexagonal architecture
    - Onion architecture
    - Clean architecture
    - Ports and adapters
    - N-tier architecture
    - Vertical slice architecture
    Ответ написан
    1 комментарий
  • MYSQL Пишет что неверный синтаксис--из-за этого не пишет результат в переменную соответственно не выводит данные куда нужно?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Вы же можете проверить, какой запрос у вас получился:
    $query = "SELECT*FROM `users` WHERE BNB='.$BNB.',BUSD='.$BUSD.', TRX='.$TRX.', USDT='.$USDT.'";
    var_dump($query); die;


    Здесь нет конкатенации. Точки уберите

    $query = "SELECT * FROM `users` WHERE BNB='$BNB' AND BUSD='$BUSD' AND TRX='$TRX' AND USDT='$USDT'";
    Ответ написан
    Комментировать
  • Может ли свитч выступать шлюзом?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Если свитч (коммутатор), всотроен в шлюз (роутер), то проблемы никакой нет.
    Практически все девайсы (устройства) для рынка SOHO (для малых предприятий) так и устроены.
    Другими словами, в каждый небольшой роутер обычно встроен коммутатор.
    Но не наобот - практически никогда во коммутатор не встраивают роутер.

    Так что свич обычно не может выступать шлюзом!

    Но из каждого правила есть исключения - в промышленные, дорогие и управляемые коммутаторы обычно встраивают ПО для обеспечения элементов роутинга :) И тогда коммутатор может быть и частично роутером.
    Ответ написан
    2 комментария
  • Может ли свитч выступать шлюзом?

    paran0id
    @paran0id
    Умный, но ленивый
    Шлюзы (маршрутизаторы) и свитчи (коммутаторы) действуют на разных уровнях модели OSI - третьем и втором соответственно. Хотя бывают и L3-коммутаторы, но это уже не про маленькие предприятия. В маленьких обычно стоит роутер SOHO-класса (домашний), в котором объединены маршрутизатор, коммутатор и точка доступа wifi.
    Ответ написан
    2 комментария
  • Как сделать запрос mysql без цикла?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Ответ написан
    Комментировать