使用 Codeigniter 搜索表单

Posted

技术标签:

【中文标题】使用 Codeigniter 搜索表单【英文标题】:Search form with Codeigniter 【发布时间】:2013-12-03 20:36:58 【问题描述】:

我正在尝试在 Codeigniter 中创建一个搜索表单。我想为用户提供 4 个不同的搜索选项。对于结果,我想要一个显示我正在搜索的表中所有 11 列的表。这是我目前的代码。

控制器:

public function index()
    $this->searchTest();

public function searchTest()
    $this->load->model('reg_model');

$search_term = array(
    'firstName' => $this->input->post('firstName'),
    'lastName' => $this->input->post('lastName'),
    'street' => $this->input->post('street'),
    'dob' => $this->input->post('dob'));


    $data['query'] = $this->reg_model->test($search_term);


    $this->load->view("reg_header");
    $this->load->view("reg_nav");
    $this->load->view("reg_search_form", $data);
    $this->load->view("reg_search", $data); 

型号:

public function test($search_term='default')



   $this->db->select('*');
   $this->db->from('voterinfo');
   $this->db->like('firstName', $search_term);
   $this->db->or_like('lastName', $search_term);
   $this->db->or_like('street', $search_term);
   $this->db->or_like('dob', $search_term);
   $query = $this->db->get();


   return $query->result_array();

查看:

<?php $this->load->library('table'); foreach ($query as $row) echo $this->table->generate($row); ?>

【问题讨论】:

那有什么问题? 【参考方案1】:

如果你想使用 codeigniter table class 放入表格,它应该是这样的:

$this->load->library('table');

$this->table->set_heading(array('Name', 'Color', 'Size')); //your column name


foreach($query as $row )
   $this->table->add_row($row);


echo $this->table->generate(); 

您还需要修改模型。你的查询是错误的,你忘记了密钥,应该是这样的:

public function test($search_term='default')



   $this->db->select('*');
   $this->db->from('voterinfo');
   $this->db->like('firstName', $search_term['firstName']);
   $this->db->or_like('lastName', $search_term['lastName']);
   $this->db->or_like('street', $search_term['street']);
   $this->db->or_like('dob', $search_term['dob']);
   $query = $this->db->get();


   return $query->result_array();


【讨论】:

这创建了表,但我仍然无法从我创建的表单中的数据库中获取信息。 感谢工作。我的另一个问题是我将如何选择选民并在表格中编辑信息 @medellin81391 那应该是另一个问题:) 我在这里创建了一个新问题的链接:***.com/questions/20330770/…

以上是关于使用 Codeigniter 搜索表单的主要内容,如果未能解决你的问题,请参考以下文章

将分页与查询字符串一起用于搜索表单,该表单的方法设置为进入 codeigniter

CodeIgniter数据库搜索

使用 codeigniter ci_marchant_Lib 库的 PayPal 定期付款

尝试在codeigniter中使用ajax提交表单

Codeigniter 表单结果作为另一个表单输入值。第二个表格没有做它应该做的事情

CodeIgniter:将最后一个活动存储到数据库中