Страница 1 из 1
Результат Select в одну строку
Добавлено: 23.04.2016 18:00
deadromeo
Вопрос может и легкий для кого то, но не для меня...
Собственно получаю данные из нужной таблицы я таким образом
Код: Выделить всё
$sql = 'SELECT поле
FROM ' . ТАБЛИЦА . '
ORDER BY RAND() LIMIT 5';
$result = $this->db->sql_query($sql);
while($row = $this->db->sql_fetchrow($result))
{и так далее...}
Но хоть убей не могу составить и сообразить конструкцию которая сразу же результатом дала строку с данными через запятую.
Читал что нужно использовать GROUP BY и GROUP_CONCAT, три дня честно пытался это впихнуть и поменять код, не получилось. Посему прошу на пальцах обьяснить кому не трудно, как же получить результат одной строкой, а не построково получать данные как в примере выше
Re: Результат Select в одну строку
Добавлено: 23.04.2016 18:21
Sumanai
А почему бы не сделать это посредством php?
Отправлено спустя 51 секунду:
deadromeo писал(а): ORDER BY RAND
Не рекомендуется.
Re: Результат Select в одну строку
Добавлено: 23.04.2016 18:29
deadromeo
Так не могу я понять как это реализовать, мне бы один работающий пример для понимания
А чем RAND плох если мне и нужны рандомные 5 записей?
Re: Результат Select в одну строку
Добавлено: 23.04.2016 18:47
Sumanai
deadromeo писал(а): Так не могу я понять как это реализовать, мне бы один работающий пример для понимания
Код: Выделить всё
$sql = 'запрос';
$result = $this->db->sql_query($sql);
$res_array = $this->db->sql_fetchrowset($result);
$string = implode(', ', $res_array);
deadromeo писал(а): А чем RAND плох если мне и нужны рандомные 5 записей?
Тормоза.
Re: Результат Select в одну строку
Добавлено: 23.04.2016 19:04
deadromeo
Спасибо большое за решение, завтра проверим.
Отправлено спустя 37 минут 44 секунды:
Проверил сейчас, не прокатило, пишет
на этой строке
У меня получается то тут
Код: Выделить всё
$res_array = $this->db->sql_fetchrowset($result);
На выходе идет массив массивов
Код: Выделить всё
Array ( [0] => Array ( [pf_vkbb_profile] => 8902397 ) [1] => Array ( [pf_vkbb_profile] => 8902396 ) )
Посему и идет ошибка...
Re: Результат Select в одну строку
Добавлено: 23.04.2016 20:19
Sumanai
Вам какого вида строку нужно получить?
Re: Результат Select в одну строку
Добавлено: 23.04.2016 20:31
deadromeo
Если брать данные из моего предыдущего поста то нужен такой вид
То есть если конкретизировать - я беру запросом данные из одного дополнительного поля у 5 случайных пользователей и мне нужно чтоб эти данные вышли одной строкой через запятую
Re: Результат Select в одну строку
Добавлено: 23.04.2016 20:36
Sheer
Код: Выделить всё
$string = '';
while($row = $db->sql_fetchrow($result))
{
$string .= '' . $row['поле'] .', ';
}
$string = substr($string, 0, -2);
Отправлено спустя 2 минуты 1 секунду:
Ну очевидно же!
http://php.net/manual/ru/language.operators.string.php
Re: Результат Select в одну строку
Добавлено: 23.04.2016 22:54
deadromeo
Спасибо, действительно можно было догадаться, все работает как надо