isset89
@isset89
Врёшь, тебе нравится

Как из записей получить одну?

Артикул Количество Характеристика
222 5 светлый
222 7 темный
333 5 красный
111 1 белый
111 6 оранжевый
111 5 фиолетовый

Задача, к примеру пользователь задает количество >=5;
Я делаю запрос в БД :
if (isset($_POST['ac']))
   {      
     $result=mysql_query("SELECT `vneshtorg`.id as id,`vneshtorg`.name as collection, `vneshtorg`.art as art,`vneshtorg`.name as name,`vneshtorg`.sostav as sostav,`vneshtorg`.pricaac as prise,`vneshtorg`.colvo as colvo,`vneshtorg`.xar as razmer FROM `vneshtorg` WHERE `vneshtorg`.name !='' AND `vneshtorg`.art !='' AND `vneshtorg`.colvo >='$key'");
   } else {
     $result=mysql_query("SELECT `vneshtorg`.id as id,`vneshtorg`.name as collection, `vneshtorg`.art as art,`vneshtorg`.name as name,`vneshtorg`.sostav as sostav,`vneshtorg`.prise as prise,`vneshtorg`.colvo as colvo,`vneshtorg`.xar as razmer FROM `vneshtorg` WHERE `vneshtorg`.name !='' AND `vneshtorg`.art !='' AND `vneshtorg`.colvo >='$key'");
   }

Получаю значит список:
Артикул Количество Характеристика
222 5 светлый
222 7 темный
333 5 красный
111 6 оранжевый
111 5 фиолетовый

Что нужно.. Привести к виду:
222 светлый, темный
333 красный
111 оранжевый, фиолетовый

Т.е к одной записи , где артиклы одинаковые, а их описание в одну строку , через запятую...

while($row = mysql_fetch_array($result))
{
$tt = $row['art'];
$id = $row['id'];

if ($id == 1){ $id1=$id;$tt = $tt;$raz1 = $raz;}
if ($id == 2){ $id2=$id;$tt2 = $tt;$raz2 = $raz;}
if ($id1 != $id2 && $tt == $tt2) { echo $tt.$raz1.$raz2;}
}


как это сделать для всех записей
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Агрегатные функции GROU BY, GROUP_CONCAT()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы