0

少しアドバイスを探しています。

私は自分のウェブサイトのデータベースの更新スクリプトを持っていますが、まだそれを Codeigniter フレームワークに変換する方法を理解できていません。私のウェブサイトのホームディレクトリに独自のファイルとして保存され、そこから実行されます。

私が理解するのを難しくしていることがいくつかあります:

  1. それはphp xpathを使用します-これをCodeigniterコントローラーに変換する方法を理解するのは難しくありませんが、各行は1つのインデックス列だけで更新されるため、foreachループを使用するのではなく、update_batchが私にとってより良い解決策になるかどうか疑問に思っています. ただし、これに関するドキュメントはほとんどありません…</p>

  2. 私のコードは MySql の On duplicate 機能を利用していますが、これは私が理解しているように、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'");
} 

上記をコントローラー/モデル環境に実装する方法について、誰かが私を正しい方向に導くことができますか?もちろん、上記のすべてを実行する最も効率的な方法がある場合はアドバイスしてください。

乾杯!

4

1 に答える 1

0

基本的に、Codeigniter の MVC 構造について詳しく知る必要があります。コントローラーについては、ここから読み始めることができます。

あなたのセットアップで:

  1. コントローラー app/controllers/update.php にファイルを作成します
  2. あなたの update.php で、あなたの関数を書くことができますpublic function index()
  3. xml を解析して Model に渡します (このセットアップ用のモデルを作成します)。
  4. 次に、1つずつまたはバッチごとに保存/挿入し、コードをモデルに入れます

繰り返しになりますが、MVC を分離して 1 つの機能にする方法をよりよく理解するには、ドキュメントを読む必要があります。

于 2013-11-06T00:43:04.903 に答える