2

CI と mysql を使用して Web サイトを開発しています。日付形式を yyyy-mm-dd から dd-mm-yyyy に変更したい。date_format 関数を使用する必要があることはわかっています。しかし、それを使用しようとすると、機能しませんでした-日付形式は変更されませんでした. また、2番目のパラメーター(FALSE)を追加しようとしました。しかし、特に複数の列を照会する必要がある場合、それに関する問題も見つかりました。これが私のコードです:

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;
}

問題: codeigniter で date_format() を使用すると、日付形式が変更されませんでした。次に、それを修正する方法は?ありがとうございました。

4

2 に答える 2

1

Code igniter 2 でテスト...

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

あなたのクーデで

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

それは私にとって非常にうまく機能します

于 2014-12-29T14:57:17.883 に答える
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 に答える