如何从已经返回模板以在PHP/Codeigniter中查看的库函数中获取变量
我有一个库,它剥离了一个网页的数据以供查看,但是我很难将变量返回到我的模型/插入。到目前为止,我在我的 模型如何从已经返回模板以在PHP/Codeigniter中查看的库函数中获取变量,php,mysql,codeigniter,web-scraping,Php,Mysql,Codeigniter,Web Scraping,我有一个库,它剥离了一个网页的数据以供查看,但是我很难将变量返回到我的模型/插入。到目前为止,我在我的 模型 ... function update_related($related_array) { $this->db->set($related_array); $this->db->insert('related_products'); } 在我的 控制器 ... public function index() { $data = array
...
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);
}
图书馆(比这要长得多,但你知道了)
公共函数curlFunc($url)
{
...
$shdom=$shdom.“一起购买:”;
foreach($shdom2->find('.class td a')作为$e){
if(preg_匹配('/F00([^\/]*)/i',$e,$regs))
{
$r=$regs[0];
$shdom=$shdom.$r.,';
$Var1=$r;//请注意,这是一个用于插入模型的变量
...
}
返回$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>";
}
?>
网址:
我想我知道你在这里遗漏了什么,
在库级的codeigniter中,codeigniter实例不可用,所以需要加载它
通过在您的库构造中添加此内容或任何适合您需要的内容
$this->ci=&get_instance();
因此您可以访问codeigniter核心类,如load
您现在可以通过以下方式轻松加载模型:
$this->ci->load->model('model_name');
ref如何在库中加载模型?@AhmedSamy我尝试了这个方法,但出现了一个错误。但这对我来说是最有意义的,可能需要进行不同的编码。不过我对这个过程没有足够的经验。我得到了-----消息:未定义属性:刮取::$load-----这就成功了,+1d支票!我还得看一下链接,谢谢。
<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>";
}
?>