Добрый день. Ни как не получается сделать запрос. Есть база данных. Код (Text): +----+------------+---------+-----------+ | id | date | user_id | content1 | +----+------------+---------+-----------+ | 1 | 1212123123 | 2 | some text | | 2 | 1437411631 | 2 | some text | | 3 | 1467493261 | 2 | some text | | 4 | 1467493261 | 2 | some text | | 5 | 1467493261 | 2 | some text | | 6 | 1467493261 | 2 | some text | | 7 | 1467493261 | 2 | some text | | 8 | 1467493261 | 2 | some text | | 9 | 1467493261 | 2 | some text | +----+------------+---------+-----------+ Мне нужно выбрать все данные и вывести в таком формате Код (Text): 3-07-2016 some_text some_text some_text some_text 12-12-2008 some_text some_text some_text some_text Я так понимаю нужно при выборе запихнуть все в многомерный массив Код (Text): $arr['3-07-2016'][0] = "some text"; $arr['3-07-2016'][1] = "some text"; $arr['3-07-2016'][2] = "some text"; Так вот как это сделать? Подскажите пожалуйста я хоть в правильном направлении иду, или есть полегче варианты?
В верном. Даже сортировки на надо. Просто проверяй существование индекса в массиве перед тем как в него затолкать очередную строку.
Зачем проверять? PHP: $arr = []; while ($line = $result->fetch()) { $arr[$line['date']][] = $line['content1']; }
@domio, кстати, можно пойти и другим путём. Вряд ли он будет чем-то лучше, но для общего развития пригодится. Конкатенируем строки в запросе, группируя по дате: PHP: $query = "SELECT DATE_FORMAT(`date`, '%d-%m-%Y') AS `date`, GROUP_CONCAT(`content1` SEPARATOR ',') AS `content` FROM `tbl_name` GROUP BY `date`"; На выходе получаете такой результат: Код (Text): date | content ------------------------------------------------------------------------------------------ 12-12-2008 | some text,some text,some text,some text,some text,some text 03-07-2016 | some text,some text Строки разделены запятой и при выводе применяем к ним explode()