有人可以帮助我吗?
我从数据库中完成了一个直接的MySQL查询,以返回所有产品。
我使用productGroupDesc告诉我他们属于哪个公司和类别。典型的条目看起来像
公司 - 类别
因此,我想要做的是先对产品进行分类,先找出它所属的公司,然后再分类。然后只需列出它们。
有什么想法吗?
这是我到目前为止所做的:
global $__CMS_CONN__;
$sql = 'SELECT name FROM isproducts';
$arr = array();
$stmt = $__CMS_CONN__->prepare($sql);
$stmt->execute();
$listOfProducts = array();
while ( $row = $stmt->fetchObject() )
{
$row->prodGroupDescList = explode(' - ', $row->ProductGroupDescription);
$listOfProducts[] = $row;
}
所以从这里开始,我需要帮助他们根据他们在productGroupDesc中的内容创建列表。
答案 0 :(得分:0)
使用explode
方法将字符串拆分为数组。
像这样。
$listOfProducts = array();
while ( $row = $stmt->fetchObject() )
{
$row->prodGroupDescList = explode(' - ', $row->ProductGroupDescription);
$listOfProducts[] = $row;
}
现在访问公司和类别检索数组元素:
$company = $row->prodGroupDescList[0]; // Will always be 1st element
$category = $row->prodGroupDescList[1]; // Will always be 2nd element
答案 1 :(得分:0)
是不是你想要的东西?
// Define this somewhere appropriate
function addToCategorisedList( $value, $category, array &$list )
{
if ( !array_key_exists( $category, $list ) ) {
$list[$category] = array();
}
$list[$category][] = $value;
}
// Then change the while loop to something like this
$categories = array();
$companies = array();
while ( $row = $stmt->fetchOject() )
{
$row->prodGroupDescList = explode( ' - ', $row->ProductGroupDescription );
addToCategorisedList( $row, $$row->prodGroupDescList[0], $companies );
addToCategorisedList( $row, $$row->prodGroupDescList[1], $categories );
}
我没有测试过这段代码,如果有任何错误,请告诉我/更正。