2015-08-21 71 views
1

我嘗試編寫一個API連接到Shopware(Shop CMS)。現在我想從數據庫中獲取數據並使用它填充數組。陣列在一段時間

於是從

$updateArticle = array(
    'configuratorSet' => array(
     'groups' => array(
      array(
       'name' => 'Size', 
       'options' => array(
        array('name' => 'S'), 
        array('name' => 'M'), 
        array('name' => 'L'), 
        array('name' => 'XL'), 
        array('name' => 'XXL'), 
       ) 
      ), 

原始示例代碼現在我想用一段時間來替換這個

array('name' => 'S'), 
array('name' => 'M'), 
array('name' => 'L'), 
array('name' => 'XL'), 
array('name' => 'XXL'), 

所以像這樣(但不工作)

$updateArticle = array(
    'configuratorSet' => array(
     'groups' => array(
      array(
       'name' => 'Farbe', 
       'options' => array(

       if ($resultatfarben = $db->query('SELECT * FROM cache_article WHERE artikelnummer = '.$herstellnummer.' GROUP BY farben')) { 
        while($datenfarben = $resultatfarben->fetch_object()){ 
       array('name' => ''.$datenfarben->farbe.''), 

        } 
       } 
       ) 
      ), 

我不能插入一段時間,但我喜歡與帖子前面的原始示例相同的結果,但使用mysql時而不是由我自己寫代碼。

回答

0

首先我們需要用數據庫的結果創建選項數組。然後,將此陣列分配給您的$updateArticle陣列的'options'屬性

$options = array(); // Initialize a new array 
$resultatfarben = $db->query('SELECT * FROM cache_article WHERE artikelnummer = '.$herstellnummer.' GROUP BY farben'); 
while($datenfarben = $resultatfarben->fetch_object()){ 
    $ret = array('name' => $datenfarben->farbe); 
    $options[] = $ret; // Push each db result ($ret array) in the options array 
} 

$updateArticle = array(
    'configuratorSet' => array(
     'groups' => array(
      array(
       'name' => 'Farbe', 
       'options' => $options // Assign the $options array created before 
      ) 
     ) 
    ) 
)