按年份对搜索结果进行排序下拉代码点火器


sort search result by year dropdown codeigniter

我想按年份搜索结果。我得到了未定义的变量:q。问题出在哪里?

这是我的观点

<?php echo form_open("announcement/year");?>
<?php echo form_label('Year','q');?>
<?php echo form_dropdown('q', $q, set_value('q'), 'id="q"'); ?>
<?php echo form_close();

这是我的控制器

if ($q == '') $q = $this->input->post('q');
    $this->data['q'] = $q;
if ($q == '') redirect($this->announcement);
$this->data['data'] = $this->ann_model->get_year

这是我的型号

function get_list_search($q)
{$result1 = array();
    $sql = "SELECT * FROM Announcement
    WHERE Date LIKE '%$q%' 
    ORDER BY ID DESC";
    ........}

请帮帮我。谢谢:)

我想你必须更改这个

$this->data['data'] = $this->ann_model->get_year

$this->data['data'] = $this->ann_model->get_list_search($q);

并在模型中返回查询结果。