表示用にデータの 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> <input type="text" name="url" id="url"/> <input type="submit" value="GO!">
</form><br />
<?php
if (isset($page)){
echo'<hr />';
echo $page;
}
if (isset($notice)){
echo "<h3>$notice</h3>";
}
?>