这是我第一次尝试将ajax与搜索输入框一起使用。我的ajax工作正常,但是我不知道如何正确地从模型和控制器返回搜索数据。
控制器:“您已找到twID的ID”可以正常工作,但是$ num没有通过
function search()
{
$this->form_validation->set_rules('twit', 'Search', 'required|trim|min_length[2]|max_length[25]');//check
if ($this->form_validation->run() == TRUE) {
$this->load->model('twit_model');
$query = $this->twit_model->entity();
if(!$query = $this->twit_model->entity())
{
echo "The name does not exist";
}else{
echo "<h3>You found $num Twitter ID's</h3>"; //this shows up in the view
echo "<li class=\"list1\">$twit_id - $name</li> "; //the "-" shows up in the view
}
}
}
该模型。
function entity()
{
$twit = $this->input->post('twit');
$this->db->select('id, name, state, party, twit_id, job');
$this->db->like('name', $twit);
$this->db->or_like('state', $twit);
$this->db->or_like('party', $twit);
$this->db->or_like('twit_id', $twit);
$this->db->or_like('job', $twit);
$query = $this->db->get('twit');
$num = $query->num_rows();
if($query->num_rows() > 0) {
$data - array(
$query,
$num
);
return $data;
}
}
控制器和模型的基础工作正常,我意识到两者都没有正确地将数据从模型正确传递到控制器
jQuery的
$(function() {
$('#display').hide();
$('#name_error').hide();
$('#submit').click(function() { // could be #form .submit
var twit = $("#twitter_search").val();
if (twit == "") {
$("label#name_error").show();
$("input#twitter_search").focus();
return false;
}
var datastring = $('#form').serialize();
$.ajax({
url: "<?php echo site_url('twitter/search'); ?>",
type: "POST",
data: datastring,
success: function(msg) {
$('#display').html(msg).show(3000);
}
});
return false;
});
});
jQuery的工作正常,警报/ firebug告诉我我正在将数据传递给控制器。我只是不知道如何将变量数据的传递写入模型->控制器->视图
谢谢阅读
参考方案
看起来您正在使用超出范围的变量。
在模型中,您应该更改以下内容:
$data - array(
$query,
$num
);
像这样:
$data = array('query' => $query, 'count' => $num, 'twit_id'=>$twit);
然后在您的控制器中更改此:
echo "<h3>You found $num Twitter ID's</h3>";
echo "<li class=\"list1\">$twit_id - $name</li> ";
变成这样的东西:
echo "<h3>You found ".$query['count']." Twitter ID's</h3>";
echo "<li class=\"list1\">".$query['twit_id']." - ".$query['query']."</li> ";
CodeIgniter:“无法重新声明类” - php诚然,我的OOPHP有点不稳定,但是我看不出这是怎么回事。在我的一个控制器中,我包括一个utils工作表,该表与该控制器一样,扩展了基本的CI_Controller类。这将引发致命错误:Fatal error: Cannot redeclare class Utils in {file path}\utils.php on line 88 控制器:class…
交叉加入codeigniter? - php我正在尝试$this->db->join('tableTwo as b','','CROSS'); $result = $this->db->get('tableOne as a')->result(); 有解决办法吗? 参考方案 Codeignit…
阻止执行控制器 - php我有一个在MY_Controller中运行的ACL。如果权限被拒绝,那么目前,我只是执行redirect('denied')-这是一个非常基本的控制器,它加载了一个非常基本的视图,显示“权限被拒绝”。但是,我想做的仍然是加载最初请求的uri,但加载“拒绝”视图而不是默认视图。我可以在MY_Controller中执行此操作,并且拒绝视图加载…
如何通过使用内部联接从codeigniter中的两个表中获取数据 - php我是codeigniter的新手,而Active Record(JOIN).中的问题SELECT emp.name ,emp_detail.salary FROM emp INNER JOIN emp_details ON emp.id=emp_details.eid AND emp_detail.salary > 5000 如何在codeignite…
codeigniter 2.0.3-致命错误 - php我是Codeigniter的新手,尝试了其中一个教程的课程,但抛出以下错误:Class 'Controller' not found in C:\xampp\htdocs\CodeIgniter\application\controllers\email.php on line 3 我的代码:<?php class Email ex…