Задать вопрос
  • Как увеличить время таймаута?

    @nata32 Автор вопроса
    SunTechnik, выдает
    504 Gateway Time-out
    nginx/1.24.0

    в Centos 7 прописывалось в файлы /etc/nginx/nginx.conf /etc/httpd/conf.d/fcgid.conf и php.ini и таймаут увеличивался
  • Как увеличить время таймаута?

    @nata32 Автор вопроса
    для эксперимента прописала лошадиные параметры везде, нечего не поменялось
    cat /proc/sys/net/ipv4/tcp_keepalive_time
    выдает 7200
  • Как вырезать текст между двумя тэгами в xml/yml на php?

    @nata32 Автор вопроса
    в общем методом тыка нала решение, может кому пригодиться, по этому варианту
    $domDoc = new DOMDocument();
    $domDoc->load(ссылка на файл);
    
    //create XPath object to navigate through the XML content.
    $xpath = new DOMXPath($domDoc);
    
    foreach ($xpath->query("//d:description") as $domNode) {
        $domNode->nodeValue = '';
    }
    $xml = $domDoc->save();

    может есть и другие решения, оригинальнее, буду рада выслушать.
  • Как решить проблему по перезаписыванию resolv.conf?

    @nata32 Автор вопроса
    спасибо добрый человек, все получилось ! )))
  • Как решить проблему по перезаписыванию resolv.conf?

    @nata32 Автор вопроса
    Alexey Dmitriev, выдает
    Unit systemd-resolved.service could not be found.
  • Как отсортировать массив?

    @nata32 Автор вопроса
    N, да, работает, индекс добавили, вообще быстро заработало. спасибо большое !
  • Как отсортировать массив?

    @nata32 Автор вопроса
    N,
    $product_attribute_query = $this->db->query("SELECT name, `text`
    FROM product
    JOIN product_attribute USING (product_id)
    JOIN attribute_description USING (attribute_id)
    JOIN attribute USING (attribute_id)
    WHERE product.grup_id = '".$grup_id."'
    GROUP BY 1, 2
    HAVING COUNT(*) >1")->rows;

    прописала вот так, добавила р
    FROM product p
    и
    WHERE p.grup_id = '".$grup_id."'
    работает и даже побыстрее чем если без р, как сначала прописала
  • Как отсортировать массив?

    @nata32 Автор вопроса
    N, ясно, спасибо, а WHERE product.grup_id = '17594' правильно прописала ?
    дает ошибку
    Error: Unknown column 'product.grup_id' in 'where clause
  • Как отсортировать массив?

    @nata32 Автор вопроса
    N, там могут быть и буквы, к примеру NM1111
  • Как отсортировать массив?

    @nata32 Автор вопроса
    дописала перед GROUP BY 1, 2
    WHERE grup_id = $grup_id
    правильно прописада ?
    вроде работает правильно, но притормаживает
    пробовала менять HAVING COUNT(*) > 1
    на HAVING COUNT(*) = 5, так как в группе 5 товаров, вообще нечего не выводит
    пробовала и 10 и 15 и 20, тот же результат, нечего
  • Как отсортировать массив?

    @nata32 Автор вопроса
    Например, для 3 товаров и атрибутов, имеющихся у всех трёх, это будет HAVING COUNT(*) = 3

    значит надо сначала посчитать количество товаров ?
    а где в запросе условие что нужно выбирать только товары по grup_id ?
  • Как отсортировать массив?

    @nata32 Автор вопроса
    Akina, https://dbfiddle.uk/qeC4YqkJ
    известно только входящие grup_id для данного примера 17594 и (хотя это не особо важно) attribute_group_id для данного примера это 7, на выходе должно получиться

    spoiler
    [name] =>Тип арматуры
    [text] =>Шаровой кран
    [name] =>Применение
    [text] =>Водоснабжение, теплоснабжение
    [name] =>Тип крана
    [text] =>Полнопроходной
    [name] =>Присоединение
    [text] =>Резьба
    [name] =>Тип привода
    [text] =>Ручка-рычаг
    [name] =>Рабочая среда
    [text] =>Вода, водный раствор гликоля до 50%
    [name] =>Температура рабочей среды, °C
    [text] =>-20...+185
    [name] =>Материал корпуса
    [text] =>Латунь хромированная
    [name] =>Страна бренда
    [text] =>Италия
    [name] =>Страна-производитель
    [text] =>Италия
    [name] =>Рабочее давление, бар
    [text] =>35
    [name] =>Резьба
    [text] =>ВР

    так как они одинаковые для обоих товаров
  • Как отсортировать массив?

    @nata32 Автор вопроса
    Добрый день
    совершенно непонятно, что в вопросе делает PHP.

    Akina, потому что сначало думала решить задачу с помощью php, но тут посоветовали решить просто запросом к базе
    Указываете точную версию СУБД.

    Версия сервера: 10.3.36-MariaDB - MariaDB Server
    Выкладываете полные CREATE TABLE всех таблиц

    spoiler
    product` (
        `product_id` int(11) NOT NULL,
        `model` varchar(64) NOT NULL,
        `sku` varchar(64) NOT NULL,
        `grup_id` varchar(128) NOT NULL,
        `quantity` int(4) NOT NULL DEFAULT 0,
        `stock_status_id` int(11) NOT NULL,
        `image` varchar(255) DEFAULT NULL,
        `manufacturer_id` int(11) NOT NULL,
        `shipping` tinyint(1) NOT NULL DEFAULT 1,
        `price` decimal(15,4) NOT NULL DEFAULT 0.0000,
        `weight` decimal(15,8) NOT NULL DEFAULT 0.00000000,
        `weight_class_id` int(11) NOT NULL DEFAULT 0,
        `length` decimal(15,8) NOT NULL DEFAULT 0.00000000,
        `width` decimal(15,8) NOT NULL DEFAULT 0.00000000,
        `height` decimal(15,8) NOT NULL DEFAULT 0.00000000,
        `length_class_id` int(11) NOT NULL DEFAULT 0,
        `subtract` tinyint(1) NOT NULL DEFAULT 1,
        `minimum` int(11) NOT NULL DEFAULT 1,
        `sort_order` int(11) NOT NULL DEFAULT 0,
        `status` tinyint(1) NOT NULL DEFAULT 0,
        `viewed` int(5) NOT NULL DEFAULT 0,
        `date_added` datetime NOT NULL
    )
    
    product_attribute` (
        `product_id` int(11) NOT NULL,
        `attribute_id` int(11) NOT NULL,
        `language_id` int(11) NOT NULL,
        `text` text NOT NULL
     )
    
       attribute` (
        `attribute_id` int(11) NOT NULL,
        `attribute_group_id` int(11) NOT NULL,
        `sort_order` int(3) NOT NULL
    )
    
    attribute_description` (
        `attribute_id` int(11) NOT NULL,
        `language_id` int(11) NOT NULL,
        `name` varchar(64) NOT NULL
    )

    Проконтролировать работоспособность - обязательно

    по дефолту все работает, в карточке есть общее описание с характеристиками (подтягиваются все характеристики, а нужны только общие), а ниже перечень товаров данной группы со своими характеристиками
    Выкладываете пример данных в виде INSERT INTO

    не поняла INSERT чего ?
    Можете сразу создать online fiddle и дать ссылку.

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

    выше вроде все объяснено, что как и почему или что то конкретно не понятно по вводным данным и получению результата ?
  • Как отсортировать массив?

    @nata32 Автор вопроса
    а это тут при чем ? я же не разрабатываю проект с 0.
  • Как отсортировать массив?

    @nata32 Автор вопроса
    В моём запросе сразу по grup_id это предполагается вытащить...сразу для данного раздела по всем товарам...

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

    @nata32 Автор вопроса
    Вы пытаетесь по каждому product_id получать "что-то" в своём запросе...а из задачи(как я понял) нужно по всем товарам в этом grup_id вытащить характеристики одинаковые...

    по идентификатору нужно получить айди товаров данной группы (product_id) и уже из таблиц атрибутов по product_id вытаскиваются атрибуты принадлежащие каждому товару данной группы. нужно вытащить только те характеристики которые одинаковые во всех товарах этой группы.
  • Как отсортировать массив?

    @nata32 Автор вопроса
    по вашему запросу дает ошибку
    Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'P` ON `pa`.`product_id` = `P`.`id` LEFT JOIN attribute a ON (pa.attribute...' at line
  • Как отсортировать массив?

    @nata32 Автор вопроса
    Что мешает добавить логику из моего запроса в Ваш? Если конечно мой запрос подходит логически..

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

    @nata32 Автор вопроса
    Человеческим языком если...нужно же вывести те характеристики, которые ОДИНАКОВЫЕ У ВСЕХ В ДАННОМ РАЗДЕЛЕ (grup_id) ? Так же?)

    в принципе так.
    но тут все немного сложнее, ваш запрос понятен, но он немного не подходит, так как название атрибута берется из другой таблице, то есть запрос сам на вывод атрибутов выглядит так
    SELECT a.attribute_id, ad.name, pa.text FROM product_attribute pa
     LEFT JOIN attribute a ON (pa.attribute_id = a.attribute_id)
     LEFT JOIN attribute_description ad ON (a.attribute_id = ad.attribute_id)
     WHERE pa.product_id = '" . (int)$result['product_id'] . "' AND a.attribute_group_id = '" . (int)$product_attribute_group . "'
     AND ad.language_id = '" . (int)$config_language_id . "' AND pa.language_id = '" . (int)$config_language_id . "' ORDER BY a.sort_order

    из 3 таблиц формируется