За последние 24 часа нас посетили 9265 программистов и 908 роботов. Сейчас ищут 326 программистов ...

Mysql-Php

Тема в разделе "MySQL", создана пользователем timaufa94, 9 окт 2021.

Метки:
  1. timaufa94

    timaufa94 Новичок

    С нами с:
    21 фев 2019
    Сообщения:
    3
    Симпатии:
    0
    Как сделать выборку из mysql (через mysql),
    чтобы на выходе данные объединились по значению ключей category_desc и соответственно,
    эти значения были ключами и содержали в себе массив значений, который в таблице им соответствовал:
    Есть же возможность без просто всяких циклов и переборов их объединить?
     

    Вложения:

    • acd76fa492.jpg
      acd76fa492.jpg
      Размер файла:
      61,8 КБ
      Просмотров:
      5
    • 3a18acee5b.jpg
      3a18acee5b.jpg
      Размер файла:
      54,7 КБ
      Просмотров:
      5
  2. musicman3

    musicman3 Новичок

    С нами с:
    30 июн 2019
    Сообщения:
    121
    Симпатии:
    11
    А почему бы сразу не добавлять данные в нужный category в виде json? Тогда и выбрать можно так как нужно, и выборка значительно быстрее будет.
     
  3. Slava Rozhnev

    Slava Rozhnev Новичок

    С нами с:
    6 сен 2021
    Сообщения:
    22
    Симпатии:
    9
    Адрес:
    https://phpize.online
    Это делается при помощи JSON_ARRAYAGG и GROUP BY:

    PHP:
    1. <?php
    2. $query = "SELECT category,  JSON_ARRAYAGG(name) names from users GROUP BY category;";
    3. $stmt = $pdo->prepare($query);
    4. $stmt->execute();
    5. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    6.  
    7. print_r($rows);
    PHP PDO test online
     
    MouseZver нравится это.
  4. musicman3

    musicman3 Новичок

    С нами с:
    30 июн 2019
    Сообщения:
    121
    Симпатии:
    11
    Небольшое уточнение. Этот вариант подойдет для MySQL >= 5.7.22 с полями формата json.
     
  5. Slava Rozhnev

    Slava Rozhnev Новичок

    С нами с:
    6 сен 2021
    Сообщения:
    22
    Симпатии:
    9
    Адрес:
    https://phpize.online
    Согласен, впочем как и использовать MySQL < 5.7.22 в 2021 году - моветон