2013-08-31 3 views
1

У меня есть база данных с двумя столбцами MONTH и TEXT.получить все данные до текущего месяца

Как я могу отобразить все записи, но не те, которые находятся в месяцах, превышающих текущий месяц? (например, если у меня есть текст в марте, августе и декабре, и мы в августе, я хочу только март и август тексты, которые будут отображаться.)

<?php 

// select all data at once 

$construct ="SELECT * from table WHERE MONTH(DataIntroducere) = ???"; 
rest of code 

?> 

Я хочу, чтобы это потому, что я вступит в будущем текст месяц и я не хочу, чтобы он отображался.

+1

как вы храните данные месяца? – keune

+0

дата в формате yyy-mm-dd ... –

ответ

1

Попробуйте как

$construct ="SELECT * FROM table WHERE MONTH(DataIntroducere) <= ".date('m'); 

Или в MySQL вы можете попробовать, как

$construct ="SELECT * from table WHERE MONTH(DataIntroducere) <= MONTH(CURDATE())"; 

И стараются избегать mysql_* заявления из-за всей ext/mysql PHP расширения, который обеспечивает все функции, названные с приставкой mysql_*, официально устарел на PHP v5.5.0 и будет удален в будущем.

Есть два других MySQL расширений, которые можно лучше использовать: MySQLi и PDO_MySQL, любой из которых может быть использован вместо ext/mysql.

+0

использовал вашу идею, и я сделал $ construct = "SELECT * from table WHERE MONTH (DataIntroducere) <= MONTH (CURDATE())"; –

+0

И это работает .. ?? – Gautam3164

+0

yup ... он работает ... –

0

Самый разумный способ сделать это - сохранить даты как временные метки unix. http://www.unixtimestamp.com/index.php

Большинство языков программирования предоставляют методы, которые возвращают временную метку unix. Вы можете преобразовать текущий месяц в метку времени и сделать запрос как

SELECT * FROM table WHERE month < timestamp_of_current_month 
0
$construct = "SELECT * FROM table WHERE DATE(DataIntroducere) <= DATE(NOW()); 

Это (правильный) один. И вам не нужно заботиться о YEAR(), MONTH(), CURDATE() или что-то еще.

+0

, ваш ответ будет показывать только сообщение будущего месяца ... –

+0

Oh. Ooh! Теперь я, наконец, понял весь вопрос. Верно сейчас, надеюсь :) – Smuuf

+0

yup ... это нормально ... но все же ... я хочу только только на текущий год ... :) –

Смежные вопросы