Codeigniter与xpath和重复键更新

时间:2013-11-06 00:27:31

标签: php mysql codeigniter xpath on-duplicate-key

寻找一些建议。

我的网站数据库有更新脚本,但到目前为止 - 我还没弄清楚如何将其转换为Codeigniter框架,即。它在我网站的主目录中保存为自己的文件,并从那里执行。

有几件事让我难以弄明白:

  1. 它使用php xpath - 不难看出我如何将其转换为Codeigniter控制器,但我想知道update_batch是否对我来说是一个更好的解决方案,而不是使用foreach循环,因为每行都是只需1个索引列即可更新。接下来没有可用的文档...

  2. 我的代码使用MySql的On duplicate功能,据我所知,Codeigniter不支持。

  3. 代码:

    $string = 'http://mywebsiteetc.com/xml/gzip/';
    $xml    = simplexml_load_file("compress.zlib://$string");
    foreach ($xml->xpath('//merchant') as $row)
    {
                    $merchant_id   = $row['id'];
                    $merchant_name = $row['name'];
                    mysqli_query($con, "INSERT INTO merchants (merchant_id, merchant_name) VALUES ('$merchant_id', '$merchant_name') ON DUPLICATE KEY UPDATE merchant_id = '$merchant_id', merchant_name = '$merchant_name'");
    } 
    

    任何人都可以指导我如何将上述内容实施到控制器/模型环境中 - 当然,如果有的话,可以告诉我如何实现上述所有目标吗?

    干杯!

1 个答案:

答案 0 :(得分:0)

基本上你需要了解更多关于Codeigniter的MVC结构,你可以开始阅读控制器的here

在您的设置中:

  1. 在控制器app / controllers / update.php
  2. 中创建一个文件 您在update.php中的
  3. 可以在public function index()
  4. 中编写您的函数
  5. 解析您的xml并将其传递给Model(为此设置创建模型)
  6. 然后逐个或每批保存/插入,将代码放入模型
  7. 再次,您必须阅读文档,以便更好地了解如何分离MVC并使其成为一个功能