0

表示用にデータの Web ページを削除するライブラリがありますが、変数をモデル/挿入に戻すのに問題があります。これまでのところ、私は自分の中に持っています

モデル...

...
function update_related($related_array)
{
    $this->db->set($related_array);
    $this->db->insert('related_products');
}

私の中で

コントローラ...

...
public function index()
{
    $data = array();

    if(isset($_GET['url']))
    {
        $data['url'] = trim($_GET['url']);
        if(!empty( $data['url']))
        {
            $this->load->library('scraping');
            $data['page'] = $this->scraping->curlFunc($data['url']);
        }else{
            $data['notice'] = 'URL is empty!!!';
        }
    }

    $this->load->view('view_x', $data);

    $this->load->model('Model_x','', TRUE); 
    $related_array = array(
        'x_id' => $var0,
        'freq_together' => $var1,
        'also_bought' => $var2,
        'created_at' => $var3
    );
    $this->Model_x->update_related($related_array);

}

ライブラリ(これよりもはるかに長くなりますが、アイデアは得られます)...

public function curlFunc($url)
{
...
$shdom = $shdom.'<p>Bought Together: ';
    foreach($shdom2->find('.class td a') as $e) {
        if (preg_match('/F00([^\/]*)/i', $e, $regs))
        {
            $r = $regs[0];
            $shdom = $shdom.$r.',';
            $Var1 = $r; //take note, this is a variable I need for Model insert
...
}
    return $shdom;
} 

このスクレイピングプロセスを複数回再実行せずに、ここからデータを返そうとしています。さらに重要なのは、データをデータベースに取り込み、ビューをそのまま維持するためのクリーンで高速な方法が欲しいということです。Codeigniter/MVC はかなり新しいので (MVC の知識を向上させるために実際にこのプロジェクトを選択しました)、私のプロセスの変更は大歓迎です。

見る...

<form action="" method="get">
    <span>URL: </span>&nbsp;<input type="text" name="url" id="url"/>&nbsp;&nbsp;&nbsp;<input type="submit" value="GO!">
</form><br />
<?php
if (isset($page)){
    echo'<hr />';
    echo $page;
}
if (isset($notice)){

    echo "<h3>$notice</h3>";
}
?> 
4

1 に答える 1

1

私はあなたがここで何が欠けているか知っていると思います.ライブラリレベルのcodeigniterではCodeigniterインスタンスは利用できないので、ロードする必要があります.

これをライブラリ構成に追加するか、必要に応じて何でも追加します

$this->ci =& get_instance();

したがって、次のような codeigniter コア クラスにアクセスできます。load

今すぐモデルを簡単にロードできます $this->ci->load->model('model_name');

refライブラリの作成

于 2013-03-13T16:47:56.993 に答える