PHP / mySQL многомерный массив или объектно-ориентированный подход? - PullRequest
1 голос
/ 13 июня 2011

У меня есть данные, которые я хочу извлечь из базы данных mySQL, и хочу упорядоченно отсортировать их, чтобы потом их можно было извлечь. Я хочу отсортировать данные в том месте, где у меня есть CompanyID $ companyid: productID $ productid: productName = $ Product, industryName = $ industry и т. Д.

так что по сути я хочу иметь:

  • CompanyID 1: ProductID 1: все информация об этом конкретном продукте
  • CompanyID 1: ProductID 2: все информация об этом конкретном продукте
  • CompanyID 1: ProductID 3: все информация об этом конкретном продукте

  • CompanyID 2: ProductID 1: все информация об этом конкретном продукте

  • CompanyID 2: ProductID 2: все информация об этом конкретном продукте

и т. Д. И т. П.

это цикл while, который извлекает всю информацию и где я буду хранить ее в многомерном массиве или в некотором объектно-ориентированном классе в PHP. в любом случае, я не слишком уверен, как это сделать.

while ($row = mysql_fetch_array($result)){ 
                $CompanyName=$row['CompanyName'];
                $companyid=$row['companyid'];
                $Product=$row['Product'];
                $productid=$row['productid'];
                $Industry=$row['Industry'];
                $Link=$row['Link'];
                $Keywords=$row['Keywords'];
                $region=$row['region'];}

РЕДАКТИРОВАТЬ: Я хочу написать многомерный массив для упорядоченного сбора всех данных. как мне написать об этом или это даже лучшее решение?

РЕДАКТИРОВАТЬ: прямо сейчас у меня есть это в то время как цикл:

 $companyIDArray[$companyid] = $productidArray[$productid] = $productInfoArray["CompanyName"]=$CompanyName;

и я собираюсь сделать по одному для каждого поля. Это лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 13 июня 2011

Вы должны делать это в своем SQL. Используйте предложение ORDER BY , например:

SELECT
    companyid
    ,productid
    ,etc...
FROM
    products
ORDER BY
    companyid,
    productid
0 голосов
/ 13 июня 2011
 $data = array();
    while ($row = mysql_fetch_array($result)){ 

                $Industry=$row['Industry'];
                $Link=$row['Link'];
                $Keywords=$row['Keywords'];
                $region=$row['region'];}

 $data[$row['CompanyName'][$row['companyid']] = 
         array($row['Product'],$row['productid'], $Industry,$Link,$Keywords,$region );


}

print_r($data,true);

приведенный выше код не проверен, но он даст вам хотя бы представление, как это сделать.

...