小编Dan*_*wan的帖子

PHP Codeigniter; 防止表格重新提交

我正在我的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传递给视图.

php forms redirect codeigniter

6
推荐指数
1
解决办法
9530
查看次数

MySql:在查询中初始化mySql变量

这是我的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 sql

6
推荐指数
1
解决办法
1127
查看次数

MySQL; 大数据的最佳数据类型

我想存储一个字段,该字段每天存储频道点击次数(每秒增加并在一天内更新)到MySQL数据库表中.我应该为列分配什么数据类型,记住它甚至可以小于100或甚至可以超过一百万.

mysql sqldatatypes

5
推荐指数
1
解决办法
1万
查看次数

MySQL:插入...从...中选择重复键

我有表 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)

mysql

2
推荐指数
1
解决办法
5839
查看次数

标签 统计

mysql ×3

codeigniter ×1

forms ×1

php ×1

redirect ×1

sql ×1

sqldatatypes ×1