2

我正在使用 CI 和 mysql 开发一个网站。我想将日期格式从 yyyy-mm-dd 更改为 dd-mm-yyyy。我知道我应该使用 date_format 函数。但是当我尝试使用它时,它不起作用——日期格式没有改变。我也尝试添加第二个参数(FALSE)。但是,我也发现了问题,特别是当我需要查询超过 1 列时。这是我的代码:

function __construct() {
    parent::__construct();
    $this->table = array(
        'name'      => 'article',
        'coloumn'   => array(
            'article_id',
            'article_title',
            'article_content',
            'article_summary',
            'date_format(article_publishdate, \'%d-%M-%Y %H:%i:%s\') as article_publishdate',
            'article_source',
            'article_link',
            'media_type',
            'media_link',
            'media_position',
            'article_category.category_title',
        ),
        'join'      =>  array(
                            0 => array('article_category' , 'article.article_category_id=article_category.category_id', 'left'),
                        ),    
        'where'     => array(),    
        'order'     => array(),
        'limit'     => array(),
        'idkey'     => 'article_id',
    );  
}

public function getfullbody($id)
{
    $this->db->query("update article set article_view = (article_view+1) where article_id = '$id'");
    $this->db->select($this->table['column'], FALSE);
        if (count($this->table['join'])>0){
            foreach ($this->table['join'] as $row):
                if (!empty($row[2])){
                    $this->db->join($row[0], $row[1], $row[2]);
                }
                else {
                    $this->db->join($row[0], $row[1]);
                }
            endforeach;
        }

    $this->db->where("article_id = '$id'");
    $query = $this->db->get($this->table['name']);
    $data = $query;
    return $data;
}

问题:当我将 date_format() 与 codeigniter 一起使用时,它并没有改变日期格式。那么,如何修复呢?谢谢你。

4

2 回答 2

1

将列更改为列索引,如果要将日期显示为 dd-mm-yyyy,请使用以下代码

function __construct() {
    parent::__construct();
    $this->table = array(
        'name'      => 'article',
        'column'   => array(
            'article_id',
            'article_title',
            'article_content',
            'article_summary',
            'date_format(article_publishdate, \'%d-%m-%Y\') as article_publishdate',
            'article_source',
            'article_link',
            'media_type',
            'media_link',
            'media_position',
            'article_category.category_title',
        ),
        'join'      =>  array(
                            0 => array('article_category' , 'article.article_category_id=article_category.category_id', 'left'),
                        ),    
        'where'     => array(),    
        'order'     => array(),
        'limit'     => array(),
        'idkey'     => 'article_id',
    );  
}

public function getfullbody($id)
{
    $this->db->query("update article set article_view = (article_view+1) where article_id = '$id'");
    $this->db->select($this->table['column'], FALSE);
        if (count($this->table['join'])>0){
            foreach ($this->table['join'] as $row):
                if (!empty($row[2])){
                    $this->db->join($row[0], $row[1], $row[2]);
                }
                else {
                    $this->db->join($row[0], $row[1]);
                }
            endforeach;
        }

    $this->db->where("article_id = '$id'");
    $query = $this->db->get($this->table['name']);
    $data = $query;
    return $data;
}
于 2013-04-05T11:40:04.813 回答
1

测试代码点火器 2...

('%d-%m-%Y')

在你的粗心

"date_format(article_publishdate, ('%d-%m-%Y')) as article_publishdate",

这对我来说非常有用

于 2014-12-29T14:57:17.883 回答