寻求一些建议。
我有一个网站数据库的更新脚本,但到目前为止 - 我还无法弄清楚如何将其转换为 Codeigniter 框架,即。它作为自己的文件保存在我网站的主目录中,并从那里执行。
有几件事让我很难弄清楚:
它使用 php xpath - 不难看出我如何将其转换为 Codeigniter Controller ,但我想知道 update_batch 对我来说是否是一个更好的解决方案,而不是使用 foreach 循环,因为每行都是仅更新 1 个索引列。然而,几乎没有这方面的文档......
我的代码利用了 MySql 的重复功能,据我了解,Codeigniter 不支持该功能。
代码:
$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'");
}
任何人都可以引导我走向正确的方向,了解如何将上述内容实现到 Controller /模型环境中 - 当然,如果有的话,请告诉我执行上述所有操作的最有效方法?
干杯!
最佳答案
基本上你需要了解更多关于Codeigniter的MVC结构,你可以开始阅读here对于 Controller 。
在您的设置中:
- 在 Controller app/controllers/update.php 中创建文件
- 在 update.php 中,您可以在
public function index()
中编写函数 - 解析您的 xml 并将其传递到模型中(为此设置创建一个模型)
- 然后逐个或批量保存/插入它,将代码放入您的模型中
同样,您必须阅读文档才能更好地理解如何分离 MVC 并使其成为一个功能
关于php - Codeigniter 与 xpath 和重复 key 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801810/