#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’);