如何根据 PHP 中的会话数据将用户重定向到不同的页面?

Posted

技术标签:

【中文标题】如何根据 PHP 中的会话数据将用户重定向到不同的页面?【英文标题】:How can I redirect users to different pages based on session data in PHP? 【发布时间】:2016-08-31 04:14:28 【问题描述】:

在codeigniter中执行以下查询后如何获取最近十天的日期

public function get_data() 
        $this->db->select('*');`enter code here`
        $this->db->select_sum('total_sale');

 $this->db->where('store_date BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()');
        $query = $this->db->get('one_month_report');
        if ($query->num_rows() > 0) 
            return $query->result();
         else 
            return FALSE;
        
    

【问题讨论】:

请告诉我查询中有什么问题 $this->db->where('store_date > DATE_SUB(NOW(), INTERVAL 7 DAY)'); 感谢回复,但没有返回任何内容 数据库日期格式是 May 05 2016 是否正确 echo $this->db->last_query();查询后..直接在mysql中运行查询 【参考方案1】:

试试这个

public function get_data() 

    $query = $this->db->query("SELECT *, SUM(cast(REPLACE(total_sale, ',', '') as decimal(8,2))) 
                               FROM one_month_report 
                               WHERE store_date BETWEEN CURDATE() AND DATE(NOW()) - INTERVAL 7 DAY");
    $result= $query->result_array();

    if (empty($result)) 
        echo "Empty result";
     else 
        return $result;
    

确保CURDATE() 是返回日期

【讨论】:

试图获取非对象的属性它不起作用 $result= $query->result_array();这一行之后添加print_r($result)并在代码下方评论并检查。 @user6171329 你检查了吗??【参考方案2】:

请试试这个:

$this->db->select('*');
$this->db->select_sum('total_sale');
$this->db->where('store_date BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW()');
$query = $this->db->get('one_month_report');

【讨论】:

如 2016 年 5 月 5 日- 或 - 2016 年 5 月 5 日 @user6171329:它使用默认的 DATETIME 或 TIMESTAMP 类型。【参考方案3】:

如果您的数据库将这些值存储为 DATETIME 或 TIMESTAMP,这应该可以工作。

$start_date = date("Y-m-d 00:00:00", strtotime("-1 week"));

$end_date = date("Y-m-d 59:59:59");

$this->db->where("store_date >= '" . $start_date . "' AND store_date <= '" . $end_date . "'");

【讨论】:

是的,它对我有用,但这次不想显示 59:59:59【参考方案4】:

这对我有用..

    $this->db->from('backbonedb'); 
    $this->db->where('status', $status);
    $this->db->where('date <=', date('Y-m-d'));
    $this->db->where('date >=', date('Y-m-d', strtotime('-7 days')));

    $this->db->order_by("id", "DESC");
    $query = $this->db->get();

【讨论】:

以上是关于如何根据 PHP 中的会话数据将用户重定向到不同的页面?的主要内容,如果未能解决你的问题,请参考以下文章

在laravel中重定向到外部url时如何保留会话数据

根据模型视图ID Yii2将用户登录重定向到不同的页面

PHP 防止会话固定/劫持

如何根据用户类型重定向到特定的布局页面?

会话超时后如何将用户重定向到自定义网页?

如何正确启动和销毁会话?