Сравните значение метки времени базы данных с сегодняшней датой и получите результат в codeigniter

0

Привет, ребята, я пытаюсь получить результат из db, где время отображения таблицы таблицы равно сегодняшней дате.

Поэтому я пытаюсь проверить это условие, используя где. Но я не знаю, что проблема в шляпе

Вот моя модель:

function getDashboardContent() {
    $today = date('Y-m-d H-i');
    $this->db->select('cd.details,g.displaytime');
    $this->db->where('cd.typeofinfo', 2);
    $this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i')", $today );
    $this->db->from('contentdetails cd');
    $this->db->join('content c', 'c.id = cd.contentid');
    $this->db->join('group_content gc', 'gc.contentid = c.id');
    $this->db->join('groups g', 'g.id = gc.groupid');
   $this->db->order_by('cd.id',"DESC");
    $this->db->limit('1');
    $query = $this->db->get();
    print_r($query);
    exit;
    return $query->result();
  }

Вот моя ошибка:

    Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''2018-07-27 12-02' ORDER BY 'cd'.'id' DESC LIMIT 1' at line 7

SELECT 'cd'.'details', 'g'.'displaytime' FROM 'contentdetails' 'cd' JOIN 'content' 'c' ON 'c'.'id' = 'cd'.'contentid' JOIN 'group_content' 'gc' ON 'gc'.'contentid' = 'c'.'id' JOIN 'groups' 'g' ON 'g'.'id' = 'gc'.'groupid' WHERE 'cd'.'typeofinfo' = 2 AND DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i') '2018-07-27 12-02' ORDER BY 'cd'.'id' DESC LIMIT 1

Может ли кто-нибудь помочь мне, какая именно проблема и какая ошибка я сделал

Заранее спасибо.

Теги:
codeigniter

2 ответа

1

Почему бы вам не изменить дату и время на метку времени, а затем сравнить это

$this-> db-> где ("TO_SECONDS (g.displaytime)", strtotime ($ today));

Это может вам помочь.

  • 0
    привет у меня есть одно сомнение, могу я спросить
0

я решил свою проблему, изменив эту строку

$this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i')!=", "$today" );

К

 $this->db->where("DATE_FORMAT(g.displaytime,'%Y-%m-%d %H-%i') = '" . $today . "'");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню