2-ой вариант.
В Вашем запросе из шапки добавить - order by ORDER_ID, DATE_INSERT
После выполнения запроса (не проверял):
$orders = array();
$unique_order_ids = array();
$result_arr = array();
foreach($rows as $row){
array_push($orders, $row);
if(!in_array($row['ORDER_ID'], $unique_order_ids)){
array_push($unique_order_ids, $row['id']);
}
}
foreach($unique_order_ids as $id){
$order_arr = array();
$order_arr['ORDER_ID'] = $id;
foreach($orders as $order){
if($order[1] == $id){
array_push($order_arr, array(
'PRICE' => $order[2],
'QUANTITY' => $order[*]
// и тд
));
}
}
array_push($result_arr, $order_arr);
}
$json = json_encode($result_arr);
print_r($result_arr);
Вытащить по ORDER_ID все заказы в одну строку - разделитель заказов '||'
должно получиться :
1259.1000,2015-10-29 11:40:14,1.0000,Нижнее белье Белая Свобода||2999.0000,2015-10-29 11:40:31,1.0000,Платье Весенняя Легкость|| и тд
(запрос не проверял):
select
ORDER_ID as id,
GROUP_CONCAT(CONCAT_WS (',', PRICE, DATE_INSERT, NAME, QUANTITY, PRICE) SEPARATOR '||') as order
from b_sale_basket
where DATE_INSERT = your_date
group by ORDER_ID
order by ORDER_ID
Далее for each и парсить при помощи explode поле order и собирать масив в масиве.