• Как запустить сортировку таблицы по клике на кнопку?

    @Khalit
    button.addEventListener("click", ()=>getSort({target:загаловок_столбца}) )
    Ответ написан
    2 комментария
  • Как сделать так, что бы при пустом запросе в базу выводились ВСЕ значения?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    есть немного замороченный способ, но в целом он требует куда меньше кода
    WHERE (account_id=? OR ? is null)  AND (priority=? OR  ? is null)

    Чтобы его использовать, надо всего лишь передавать каждую переменную в запрос по два раза (и следить, чтобы пустые переменные содержали null).

    Другим вариантом является условная сборка запроса.
    Для этого мы собираем условия и переменные для них в массивы

    $conditions = [];
    $parameters = [];
    if ($account_id)
    {
        $conditions[] = 'account_id=?';
        $parameters[] = $account_id;
    }
    if ($priority )
    {
        $conditions[] = 'priority =?';
        $parameters[] = $priority;
    }

    собираем из условий запрос и выполняем его, привязывая все переменные разом
    тут из сложного будет привязка переменных из массива, но благодаря оператору распаковки аргументов это не так уж и сложно.
    if ($parameters)
    {
        $sql .= " WHERE ".implode(" AND ", $conditions);    
        $stmt = $db->prepare($sql);
        $stmt->bind_param(str_repeat("s", count($parameters)), ...$parameters);
        $stmt->execute();
        $result = $stmt->get_result();
    } else {
        $restult = $db->query($sql);
    }
    Ответ написан
    3 комментария
  • При sql запросе писать с кавычками или без?

    @Akina
    Сетевой и системный админ, SQL-программист.
    1) Как безопаснее и правильней писать имя таблицы и базы с кавычками или без кавычек . Если с кавычками то с двойными или одинарными.


    В MySQL используется три разных типа кавычек.

    1. Прямая кавычка '

    Используется для обрамления литералов, требующих такого обрамления, а именно: строковые, даты-времени, JSON, компоненты имени учётной записи и пр. Подробнее см. Literal Values и Specifying Account Names

    2. Обратная кавычка `

    Используется для обрамления имён объектов (БД, таблиц, полей, имён функций/процедур и пр.).

    Если имя объекта не содержит нелегитимных символов (подробнее см. Schema Object Names), не является служебным или зарезервированным словом (см. Keywords and Reserved Words), использование обратной кавычки опционально, иначе обязательно.

    3. Двойная кавычка "

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

    При включённом ANSI_QUOTES в SQL Mode указанные использования отменяются, и двойная кавычка используется для обрамления имён объектов (т.е. дублирует использование обратной кавычки).

    ИТОГО с точки зрения безопасности:

    - имена объектов ВСЕГДА обрамлять ТОЛЬКО обратной кавычкой
    - литералы, требующие обрамления - обрамлять ТОЛЬКО одинарной кавычкой
    - двойную кавычку использовать ТОЛЬКО как символ в составе литерала (строкового, JSON)
    Ответ написан
    1 комментарий
  • При sql запросе писать с кавычками или без?

    @galaxy
    1) Как безопаснее и правильней писать имя таблицы и базы с кавычками или без кавычек . Если с кавычками то с двойными или одинарными.

    Это не кавычки, а обратные апострофы (backticks).
    Правильнее - в апострофах. Без них нельзя использовать многие зарезервированные слова в именах таблиц/колонок/пр., а также ограничен набор символов. С апострофоми можно делать так:
    SELECT * FROM `select` WHERE `select`.id > 100;
    SELECT * FROM `a b`;
    CREATE TABLE `a``b` (`c"d` INT);
    select * from tablename group by `group`;
    Ответ написан
    3 комментария
  • Как передать значение из таблицы на сайте на другую страницу?

    coolswood
    @coolswood
    https://coolswood.github.io
    Непонятная суть вопроса и в чем сложность обмениваться такими данными через сервер.
    Но если нужно решить в рамках фронта, то сохраняйте данные в один из этих storage и получаете оттуда на любой странице вашего сайта https://learn.javascript.ru/localstorage
    Ответ написан
    Комментировать