Insert array in database



  • I haven't posted the entire code before it's too extensive (I've still summarized taking some non-relevant data), now is the entire code. I'm picking up values from the products, I roll a foreach picking each one's ID and then pull the data from that product when it comes to 'categoria'=>$produto_loaded->getCategoryIds(), it brings me an array of numbers because the product is in several categories, when I will reenter this array in the table as below it only inserts the name Array.

    Code

        ini_set("display_errors", 1);
        ini_set('memory_limit','1024M');
            require_once('app/Mage.php');
            Mage::app(0);
    
        $collection = Mage::getModel('catalog/product')->getCollection();
    
        foreach ($collection as $key => $produto) {
        $id = $produto->getId();
    
        $produto_loaded = Mage::getModel('catalog/product')->load($id);
    
            $tudo = array(
    
            'categoria'=>$produto_loaded->getCategoryIds(),
            'positioncat'=>$produto_loaded->getPosition(),
            'loja'=>addslashes($produto_loaded->getStoreId()),
            'atributo_id'=>addslashes($produto_loaded->getAttributeSetId()), 
            'tipo_de_produto'=>addslashes($produto_loaded->getTypeID()),
            'id_produto' =>addslashes($produto_loaded->getId()), 
            'sku'=>addslashes($produto_loaded->getSku()),
            'status'=>addslashes($produto_loaded->getStatus()),
            'visibilidade'=>addslashes($produto_loaded->getVisibility()),
            'nome'=>addslashes($produto_loaded->getName()),
            'descriçao'=>addslashes($produto_loaded->getDescription()),
            'nomeurl'=>addslashes($produto_loaded->getProductUrl()));
    
                    $teste = $tudo['id_produto'];
                    $link = mysqli_connect('localhost','root','','teste2');
                    $link->set_charset("utf8");
                    $query = 
    
                            "SELECT a.website_id as websiteid, 
                            b.category_id as categoria, 
                            b.position as positioncat
                            FROM catalog_product_website a
                            INNER JOIN catalog_category_product b
                            ON a.product_id = b.product_id
                            WHERE a.product_id = '$teste'";
    
                    $select = mysqli_query($link, $query);
                    while ($row = mysqli_fetch_array($select)) {
                       $websiteid = $row['websiteid'];
                    }
    
        if($produto_loaded->getTypeId() == 'bundle'){
    
                    $teste = $tudo['id_produto'];
                    $link = mysqli_connect('localhost','root','','teste2');
                    $link->set_charset("utf8");
                    $query = "SELECT selection_id as select_id, option_id as option_bundle, position as position_bundle, parent_product_id as bundle_id, product_id as prod_id, is_default as padrao, selection_price_type as tipodepreco, selection_price_value as preco_bundle, selection_qty as qtd, selection_can_change_qty as mudarqtd from catalog_product_bundle_selection WHERE parent_product_id = '$teste'";
                    $select = mysqli_query($link, $query);
                    foreach($select as $s){
                        $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
                        $query = "INSERT INTO produtos (`loja`, `websiteid`, `atributo_id`, `tipo_de_produto`,  `id_produto`,  `sku`, `status`, `visibilidade`, `nome`, `descriçao`, `nomeurl`, `categoria`,) VALUES ('".$tudo['loja']."', '".$websiteid."',  '".$tudo['atributo_id']."', '".$tudo['tipo_de_produto']."',  '".$tudo['id_produto']."',  '".$tudo['sku']."', '".$tudo['status']."', '".$tudo['visibilidade']."', '".$tudo['nome']."', '".$tudo['descriçao']."', '".$tudo['nomeurl']."', '".$tudo['categoria']."', '".$s['bundle_id']."', '".$s['prod_id']."', '".$s['position_bundle']."', '".$s['option_bundle']."', '".$s['select_id']."', '".$s['padrao']."', '".$s['tipodepreco']."', '".$s['preco_bundle']."', '".$s['qtd']."', '".$s['mudarqtd']."')";
                        $connection->query($query);
                    }
    
                } else {
                    $connection = Mage::getSingleton('core/resource')->getConnection('core_write');
                    $query = "INSERT INTO produtos (`loja`, `websiteid`, `atributo_id`, `tipo_de_produto`, `id_produto`,  `sku`, `status`, `visibilidade`, `nome`, `descriçao`, `nomeurl`, `categoria`) VALUES ('".$tudo['loja']."', '".$websiteid."', '".$tudo['atributo_id']."', '".$tudo['tipo_de_produto']."', '".$tudo['id_produto']."',  '".$tudo['sku']."', '".$tudo['status']."', '".$tudo['visibilidade']."', '".$tudo['nome']."', '".$tudo['descriçao']."', '".$tudo['nomeurl']."', '".$tudo['categoria']."')";
                    $connection->query($query);
                  }
                }
                ?>
    



  • Track your array to insert the logs correctly:

    foreach($tudo['categoria'] as $idCategoria){
        $query = "INSERT INTO produtos (`categoria`, .........) VALUES ('".$idCategoria."', .........)";
    }
    



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2