Php получает только сегодняшние статьи?

#mysql #php

#mysql #php

Вопрос:

мне нужно создать функцию, которая будет отображать статьи только на текущую дату. Вот что я создал:

 function lastnews () {
    $id = mysql_real_escape_string ($id);
    $date = date('d');
    $sql = 'SELECT * FROM posts WHERE  post_status = "publish" AND post_date = "$date"  ORDER BY post_date DESC LIMIT 3';
    $res = mysql_query($sql) or die (mysql_error());

if (mysql_num_rows($res) !=0):
    while ($row = mysql_fetch_assoc($res)) {


    $title = $row['post_title'];
    echo '<li><a href="post.php?id='.$row['id'].'">'.$title.'</a></li>';    
}
    endif;

} // end 
  

Но это не работает. формат даты в базе данных :

 Y-m-d H:i
  

Спасибо, что прочитали это

Ответ №1:

Вам нужно указать всю дату ( date('Y-m-d') ), и запрос должен указывать AND post_date > '$date' , потому что он включает время. Вы также можете сказать AND post_date > CURRENT_DATE .

Комментарии:

1. Это было быстро. Я думал о том же, но проверял синтаксис:-( — Собирался предложить и это : ... LIKE '_$date_%' .

Ответ №2:

Изменить $date = date(‘d’);

Кому: $date = date(‘Y-m-d H:i’);