@smoln

Как сделать такой массив из двух циклов?

Есть два цикла while вывода из базы mysql, в первом цикле информация о клиенте, во втором о товарах этого клиента -нужно создать многомерный массив такого плана
Array (
 [0] => Array (
 "Партнер_Key"=>1,
//другая информация о клиенте---
// тут начинается другой цикл -  информация о товаре клиента
[Товары] => Array  (
 [0] => Array  (
 "LineNumber"=> 1
// другая информация о товаре---
)
 [1] => Array  (
  "LineNumber" => 2
 //другая информация товаре---
)
 [2] => Array  (
 "LineNumber" =>3
  //другая информация товаре---
)
     )
            )
 [1] => Array (
    "Партнер_Key"=>2,
//другая информация о клиенте---
// тут начинается другой цикл информация о товаре клиента
[Товары] => Array  (
 [0] => Array  (
   "LineNumber" => 1
//другая информация о товаре---
)
 [1] => Array  (
  "LineNumber" => 2
//другая информация товаре---
)
 [2] => Array  (
  "LineNumber"=>3
//другая информация товаре---
)
     )
         )

)

Как организовать такой массив из таких циклов
while ($myrow = mysqli_fetch_array($result)){
//здесь инфо о клиенте
while ($tmyrow = mysqli_fetch_array($tresult)){ 
//здесь инфо о товарах клиента
}
}
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
@ynblpb_spb
дятел php
$clients = [];
while ($client = mysqli_fetch_array($result)){
  //здесь инфо о клиенте
  while ($products = mysqli_fetch_array($tresult)){ 
    //здесь инфо о товарах клиента
    $client['products'] = $products;
  }
  $clients[] = $client;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега PHP
♬♬
Одним запросом получить объединенные строки (клиент, товар), отсортировпнные по клиентам.

Держать переменную “текущего клиента”. Пока он не поменялся, заполнять тоаары для него. Сменился - ноаая запись клиента с массивом товаров пошла заполняться.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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