Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 08:58   #1
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
Вопрос выборка по месяцу

Доброго времени суток!
Есть небольшая проблемка по организации выбора с бд.
Вообщем есть бд с записями, у каждой записи имеется поле date_s в которую заноситься дата начала определнного события, по умолчанию имеет формат ДД.ММ.ГГГГ. В особой части сайта необходимо делать выборку с бд по месяцу, ну вроде как жмешь на кнопу и тебе выдает список событий за январь или скажем за апрель.

и вот что то у меня вопрс как запихать это дело в запрос к бд. ну вроде как если нужен месяц февраль то есть переменная $m = "02";
и запрос вида

"SELECT name FROM table WHERE date_s = ".$m." ORDER BY id ASC"

ничего не покажет, поскольку он будет сравнивать поля типа 00.11.2222 со строкой "02".

делать дополнительный запрос всех полей всех строк из бд и в цикле использовать
Код:
$res = mysql_query($query);
$row = mysql_fetch_assoc($res);

$arr = array();
do {
       $arr = explode(".",$row['date_s']);
      if ($arr[1] = $m) 
      {$query2 = "SELECT * FROM table where id = ". $row['id']; $res2 =        mysql_query($query2);.......}
}
while ($row = mysql_fetch_assoc($res));
слишком грузить страницу...т.к. записей в таблице крайне много и пока оно там проверит ее на все эти дела....


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

Последний раз редактировалось mrgrudge; 28.02.2011 в 09:08.
mrgrudge вне форума Ответить с цитированием
Старый 28.02.2011, 09:14   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
по умолчанию имеет формат ДД.ММ.ГГГГ
Формат поля какой, date или varchar? Если формат поля varchar то это неправильно и необходимо переделать тип поля в соответствующий для хранения даты. Но если это невозможно то конвертируем строку в дату http://www.tutorialspoint.com/mysql/...on_str-to-date и получаем из него месяц с помощью http://www.tutorialspoint.com/mysql/...function_month. Можно ещё использовать регулярки или строковые ф-ии, но раз это время то правильно использовать для работы с ним соответствующие ф-ии.

Код:
"SELECT name FROM table WHERE MONTH(STR_TO_DATE(date_s, '%d.%m.%Y'))= ".$m." ORDER BY id ASC"
Цитата:
00.11.2222
День 0!
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 28.02.2011, 09:39   #3
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

блин спасибо огромное, пока вроде работает, если в процессе реализации что то будет еще отпишу)

З.Ы. где можно прочитать про всякие такие хитрые запросы типа
MONTH(STR_TO_DATE(date_s, '%d.%m.%Y')) ?))
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 28.02.2011, 09:46   #4
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Цитата:
З.Ы. где можно прочитать про всякие такие хитрые запросы типа
MONTH(STR_TO_DATE(date_s, '%d.%m.%Y'))
Если англицкий знатете то хотя бы тут http://www.tutorialspoint.com/mysql/...-functions.htm, если не знате то гуглите по названиям ф-ий "mysql STR_TO_DATE" и тп
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по месяцу girkoff Microsoft Office Access 9 27.10.2010 21:17
Выборка выборка с таблицы с отношением многие-ко-многим 8alig8 БД в Delphi 2 24.06.2010 12:21
Выборка сумм по месяцу на отдельном листе (Excel 2003) Svetlana_zel Microsoft Office Excel 3 27.05.2010 17:26
Запрос по дате (отбор по месяцу) Dark_Alamez Microsoft Office Access 6 05.04.2009 21:36
Фильтрация по месяцу DBgrid .... khaz БД в Delphi 5 28.04.2007 14:03