Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCart-XML到MySQL_Mysql_Xml_Opencart - Fatal编程技术网

OpenCart-XML到MySQL

OpenCart-XML到MySQL,mysql,xml,opencart,Mysql,Xml,Opencart,我有一个XML文档和一个新的OpenCart安装。XML文档的内容是: 我可以使用simplexml()获取每个标记及其值: $sxml=simplexml\u load\u文件(“products sample.xml”); foreach($sxml->products->children()作为$products) { foreach($products->children()作为$product) { 回显“标记:”.$product->getName().“值:”.$product.“

我有一个XML文档和一个新的OpenCart安装。XML文档的内容是: 我可以使用
simplexml()
获取每个标记及其值:

$sxml=simplexml\u load\u文件(“products sample.xml”);
foreach($sxml->products->children()作为$products)
{
foreach($products->children()作为$product)
{
回显“标记:”.$product->getName().“值:”.$product.“
”; } 回声“
”; }
但我没有opencart的编码经验,所以我想知道是否有使用opencart数据库的指南或教程


我的主要问题是将我从XML解析的信息放在哪里?

OpenCart数据库表大部分都有自解释的名称,但有一些重要的连接您可能会忽略,例如
oc\u product\u to\u store
。有些,如
产品属性
产品折扣
,可以忽略,具体取决于您的具体需求

OpenCart允许产品分为多个类别和多个商店,一些数据可能是多种语言的。这些一对多连接需要单独的表。还有一些简单的一对一连接,如制造商,其中相同的信息对多个产品是通用的,因此通过一个_id链接

我不会坐在这里免费为您的数据编写导入脚本,但以下是我从最近完成的导入项目中学到的一些东西,我希望这些东西对其他人有所帮助

您的问题是“where”而不是“how”,因此我假设您已经有了在脚本中执行MySQL查询的首选方法

这些是我需要在INSERT中使用的表和字段,以便将产品添加到OpenCart中,从而将其添加到cart中

  • oc\U产品
    型号
    sku
    upc
    ean
    jan
    isbn
    mpn
    位置
    数量
    库存状态标识
    制造商标识
    发货
    价格
    税种id
    日期
    状态
    date\u添加
    date\u修改
    图像
  • oc\U产品描述
    产品id
    语言id
    名称
    描述
    元描述
    元关键字
    标签
  • oc\U product\U to\U store
    product\u id
    store\u id
  • oc\u产品到\u类别
    产品id
    类别id
您需要首先处理您的类别和制造商并添加它们,这样您就可以查找它们的ID并使用它

如果以后可能需要使用更新的XML文件更新产品,则应使用
sku
upc
ean
jan
isbn
mpn
中的一种来存储标识引用(可能是您的
代码

要确定正确的字段和有效值,请执行以下四个简单步骤:

  • 导出数据库的备份(如使用phpMyAdmin)并将其提取到文本文件中
  • 使用OpenCart的管理工具从XML中手动添加一个产品(完全正确,包括设置正确的税类)
  • 再次导出和解压缩,并比较这两个文件(如与Beyond compare)
  • 仔细查看每个更改字段的字段类型(包括字符串长度),并找出与任何_id相关的内容

  • 您只需将XML保存为CSV,然后使用众多CSV导入扩展之一,例如

    您正在尝试做什么-请更具体一些,我可以帮助您..非常感谢。我有一个包含信息的XML文档,由标记分隔。我必须在OpenCart中导入它。但我不明白该把哪些信息放在哪个表格里?有一个来自pastebin和我的xml的链接。如果这是一个公共文件,您可以制作类似于
    index.php?route=myprivatefunction/runxml
    -这样可以运行您的查询??我的主要问题是open cart中的哪些表用于
    产品
    。产品的哪些信息放在哪个表中?不,数据库没有真正的指南。我建议等待杰伊·吉尔福德(Jay Gilford)或者删除你的问题并重新格式化——你需要关于数据库的建议——这是不言自明的。似乎你知道如何去编码,phpMyAdmin你的OpenCart数据库,产品都在产品,产品属性,产品描述,产品折扣-等等它一直这样循环
    $sxml = simplexml_load_file("products-sample.xml");
    
    foreach($sxml->products->children() as $products)
    {
        foreach($products->children() as $product)
        {
            echo 'Tag: '. $product->getName(). ' Value:' . $product.'<br />';
        }
        echo '<hr />';
    }