我正在我的CodeIgniter项目中创建一个搜索页面.在提交时,表单调用控制器函数,通过模型函数获取数据,并将生成的数组传递给视图
问题是,当我刷新结果页面时,表单重新提交,因为$ _POST数据仍然存在于请求标头中.如何避免重新提交确认消息
以下是我的表单的代码:
<!--form-->
<form id="find" action="<?php echo base_url()?>search/find" method="post">
<input type="text" name="search_key" class="tb4" id="search_key" placeholder="Search here"/>
<input type="button" value="search"/>
</form>
Run Code Online (Sandbox Code Playgroud)
以下是我的控制器的代码:
/*
* function for fetching search results
* @param void
* @return void
*/
public function find()
{
$data['search_result']=$this->search_model->search($this->input->post('search_key'));
$this->load->view('template/header');
$this->load->view('pages/search_result',$data);
$this->load->view('template/footer');
}
Run Code Online (Sandbox Code Playgroud)
请帮助我.我不能使用重定向而不是加载视图,因为我必须将结果数组$ data传递给视图.
这是我的MySql查询执行的序列:
查询1:SET @channel_rank = 0;
查询2:
SELECT time_of_day, @channel_rank := IF(
@current_channel = channel,
1,
@channel_rank + 1
) AS channel_rank ,
@current_channel := channel AS channel,Views
FROM
(
SELECT @channel_rank = 0,time_of_day,channel, SUM(Views) AS 'Views'
FROM access_logs_meaningful_optimized
WHERE `time_of_day` = 0
AND playing_date = '2016-10-26' GROUP BY channel
ORDER BY SUM(views) DESC
LIMIT 5
) xx;
Run Code Online (Sandbox Code Playgroud)
样本结果:
time_of_day channel_rank channel Views
----------- ------------ --------------------- --------
0 1 Tolo 1291
0 2 Tolo News 855
0 3 Samaa …Run Code Online (Sandbox Code Playgroud) 我想存储一个字段,该字段每天存储频道点击次数(每秒增加并在一天内更新)到MySQL数据库表中.我应该为列分配什么数据类型,记住它甚至可以小于100或甚至可以超过一百万.
我有表 A中的一条记录:
_____________________________________________________________________________
Date | country | channel | clicks
_____________________________________________________________________________
1-01-2016 | US | MTV | 100
1-01-2016 | US | MTV | 50
_____________________________________________________________________________
Run Code Online (Sandbox Code Playgroud)
我将此记录插入到另一个表 B使用查询:
INSERT INTO B
SELECT
DATE,
country,
channel,
SUM(clicks) AS clicks
FROM
A
GROUP BY DATE,
country,
channel;
Run Code Online (Sandbox Code Playgroud)
现在表 B看起来像:
_____________________________________________________________________________
Date | country | channel | clicks
_____________________________________________________________________________
1-01-2016 | US | MTV | 150
_____________________________________________________________________________
Run Code Online (Sandbox Code Playgroud)
在其他某个时刻,我在表 A 中得到另一条记录
_____________________________________________________________________________
Date | country | channel | …Run Code Online (Sandbox Code Playgroud)