PHP / mySQL多维数组或面向对象的方法?

时间:2011-06-13 19:06:15

标签: php mysql oop multidimensional-array

我有数据要从mySQL数据库中提取,我想以有条理的方式对其进行排序,以便稍后进行处理。我想在我有CompanyID $ companyid的情况下对它进行排序:productID $ productid:productName = $ Product,industryName = $ industry etc

基本上我想拥有:

  • 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'];}

编辑:我想编写一个多维数组,以有序的方式捕获所有数据。我将如何写这个或者甚至是最好的解决方案?

编辑:现在我在while循环中有这个:

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

我将为每个领域制作一个。这是最好的方法吗?

2 个答案:

答案 0 :(得分:1)

您应该在SQL中执行此操作。使用 ORDER BY 子句,如下所示:

SELECT
    companyid
    ,productid
    ,etc...
FROM
    products
ORDER BY
    companyid,
    productid

答案 1 :(得分:0)

 $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);

以上是未经测试的代码,但它会让你知道至少如何做到这一点。