Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
есть две таблицы
В таблице event хранятся события, и есть колонки id,name,start,end;
в event_days_of_week есть id_event, Monday, Tuesday, Wednesday, Thursday, Friday, Suturday, Sunday
в start и end содержатся дата начала и дата конца события
в названиях недели содержится числа для сортировки, и если в каком то дне недели стоит 0, нам нужно его пропустить.
собственно нужно выбрать все события в диапазоне сегодняшний день + 28 дней, не выбирать событие в день недели, в котором у него стоит 0, и отсортировать по дням недели.
На выходе должны получить такой массив:
$array[дата_дня][индекс событий,которые вошли в этот день 0,1,2,3 и т.д.][свойства этого события id,name,start,date]
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
условие составить в цикле, а сам запрос вынести из цикла, дату через BETWEEN
----- То что программа работает, не означает что она написана правильно!
exlant
Отправлено: 10 Февраля, 2015 - 13:44:37
Посетитель
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
KingStar пишет:
условие составить в цикле, а сам запрос вынести из цикла, дату через BETWEEN
а как составить это условие в цикле? если бы я знал как, я бы не спрашивал...
и по поводу BETWEEN, читал на каком то сайте что лучше через больше меньше, так быстрее выходит
KingStar
Отправлено: 10 Февраля, 2015 - 13:59:30
Участник
Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011 Откуда: Беларусь
Помог: 69 раз(а)
вообще не понимаю, зачем здесь цикл
у тебя количество дней от 0 до 28
дату выбираешь от текущей, до +28 и день недели != 0
то, что ты сейчас делаешь - это ищешь на каждый день 0123....28
а это равносильно что искать на весь промежуток 0-28
----- То что программа работает, не означает что она написана правильно!
exlant
Отправлено: 10 Февраля, 2015 - 15:38:29
Посетитель
Покинул форум
Сообщений всего: 425
Дата рег-ции: Февр. 2015
Помог: 14 раз(а)
а мне вот и надо промежуток от 0 - 28 (0-28 это условно это будут скорей всего переменные)
в конечном итоге нужно получить таблицу по дням недели, в каждый день недели будут вставляться события, которые могут произойти в этот день, например
имеем строчки id = 1, name = event, start = 2015.02.10, end 2015.03.15, Monday = 1, Tuesday = 2, Wednesday = 2, Thursday = 0, Friday = 2, Suturday = 0, Sunday = 0, и строчку №2 id = 2, name = event_2, start = 2015.02.11, end 2015.04.15, Monday = 2, Tuesday = 3, Wednesday = 1, Thursday = 1, Friday = 0, Suturday = 1, Sunday = 1
вот это все мне нужно вывести так, что бы на сегодняшний день вторник вывелось только первое событие, на второй день - среда вывелось первое и второе событие(при том, что бы с начало было второе событие, то есть ORDER BY Wednesday), через день -четверг вывелось только второе событие, и т.д.... а потом с этого всего составить таблицу по дням недели - Пн, Вт,СР.. и т.д. допустим на 4ре недели вперед.
Про циклы в mysql очень мало информации, и из того что я понял, они доступны только из консоли, или нужно как то делать, через процедуры.
Мне бы хотя бы один рабочий примерчик, или направление куда рыть, что бы сделать такой запрос только на mysql, без средств php, или как то от php цикла избавится
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.