Консультация № 45944
11.06.2006, 23:01
0.00 руб.
0 5 3
Здравствуйте!

Имееться БД MySQL вида ip (varchar) date (date)
надо надо сравнить поле data с результатом функции date(Ymw) отдельно для дня месяца и года. сам пытался сделать через встроенные функции MySQL - не получилось.

Заранее спасибо за ответы.

Обсуждение

Неизвестный
12.06.2006, 00:29
общий
это ответ
Здравствуйте, Alexo!

Не совсем понятен вопрос, но думаю вам нужно вот это (я ваше поле date буду обзывать field_date - не люблю, когда названия полей совпадают с зарегистрированными словами)

MONTH(`field_date`)=date(m) - месяца равны
DAYOFMONTH(`field_date`)=date(d) -дни равны
YEAR(`field_date`)=date(Y) -года равны

Удачи!
Неизвестный
12.06.2006, 11:12
общий
это ответ
Здравствуйте, Alexo!
$time=time();
$dat=date(‘Y-m-d‘,$time);
$query="select * from mytab where data=‘$dat‘";
$res = mysql_query($query);
while ($r=mysql_fetch_row($res)) print_r($r);
Неизвестный
12.06.2006, 11:59
общий
<b>Alexo:</b>А в чем именно была сложность со встраиванием в запрос? Нужно было тогда в вопросе написать, что функции Вы знаете, а пользоваться ими не можете. Скорее всего Вы запутались со скобочками.Вот запрос (нормально работает):@mysql_select_db(‘BazaDennyh‘, $link) or die ("Невозможно выбрать базу данных");$result=mysql_query("SELECT * FROM `tablica` WHERE MONTH(`date`) = ‘".date(‘m‘)."‘" ,$link); if (mysql_num_rows($result)<>0) { echo mysql_result($result,0,‘date‘);}Не забывайте, что здесь date(‘m‘) - функция PHP, а не MySQL, поэтому ее нужно писать за лапками, а значение, которое выдает эта функция нужно взять в лапки, осюда и конструкция ‘ ".date(‘m‘)." ‘ "Удачи!
давно
Студент
15716
139
12.06.2006, 13:12
общий
Ошибка и вправду была в скрипте, сразу ее не заметил сейчас все работает. Всем спасибо!
Неизвестный
12.06.2006, 16:53
общий
это ответ
Здравствуйте, Alexo!
А попробуй хранить в TIMESTAMP
Форма ответа