Отобразить подробную группу деталей по имени поставщиков

Когда я добавил (Random added) продукт в корзину разными поставщиками.

Пример:

Таблицы данных.

VENDORS TABLE | vendorid | vendorname | ------------------------- | 1 | A | | 2 | B | | 3 | C | ------------------------- PRODUCTS TABLE | productid | productname | postbyvendor(FK) | ---------------------------------------------- | 1 | Shirt1 | 1 | | 2 | Shirt2 | 1 | | 3 | Shirt3 | 2 | | 4 | Shirt4 | 2 | | 5 | Pants1 | 1 | | 6 | Pants2 | 3 | 

Нажмите на кнопку «Добавить в корзину» 6 раз.

 1st Add Shirt1 from Vendor A to cart 2nd Add Shirt3 from Vendor B to cart 3rd Add Pants2 from Vendor C to cart 4th Add Shirt2 from Vendor A to cart 5th Add Pants1 from Vendor A to cart 6th Add Shirt4 from Vendor B to cart 

Просмотр корзины отображается следующим образом.

 <li>Shirt1</li> <li>Shirt3</li> <li>Pants2</li> <li>Shirt2</li> <li>Pants1</li> <li>Shirt4</li> 

Я хочу отобразить детали проверки, как это.

 <li>Vendor Name : A</li> <li>Shirt1</li> <li>Shirt2</li> <li>Pants1</li> <li>Vendor Name : B</li> <li>Shirt3</li> <li>Shirt4</li> <li>Vendor Name : C</li> <li>Pants2</li> 

Мой запрос.

 $statement = $mysqli_conn->prepare("SELECT productname, postbyvendor FROM products_tbl WHERE productname = ? order by postbyvendor asc"); 

Код, который я пробовал.

  foreach($_SESSION["products"] as $product){ $product_name = $product["productname"]; $vendorsid = $product["postbyvendor"]; $cart_box = "<li>$vendorsid $product_name</li>"; } 

Отображается следующим образом:

 <li>1 Shirt1</li> <li>2 Shirt3</li> <li>3 Pants2</li> <li>1 Shirt2</li> <li>1 Pants1</li> <li>2 Shirt4</li> 

Оценил.

Я думаю, что если бы я сделал это, я бы сделал функцию, чтобы собрать продавцов и их элементы, а затем прокрутить их для отображения, что-то вроде:

 function getVendors() { foreach($_SESSION["products"] as $product) { $org[$product["postbyvendor"]][] = $product["productname"]; } return (!empty($org))? $org : array(); } foreach(getVendors() as $vendor => $prods) { echo "<li>{$vendor}</li>"; echo "<li>".implode("</li><li>",$prods)."</li>"; }