![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Akina |
|
||||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Я поправил опечатку. Но и тебе надо бы думать, а не тупо копипастить... не правда ли, будет странно, если ровно через неделю будет не тот же день недели... Добавлено через 2 минуты и 6 секунд
Последняя пятница и пятница последней недели - вовсе не одно и тоже... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||||
|
|||||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Akina - Спасибо тебе за помощь, но ты можешь толком объяснить, что куда вставляется?
Вот эта часть кода в таблицу, вместо так называемого Last?
Я не могу понять откуда ты посылаешь WHEN 'First' или WHEN 'Last' - это по идее если ты выбираешь Last or First. И я уже мозг поломал, что значит Последняя пятница и пятница последней недели вовсе не одно и тоже. Ты имел в виду что последняя пятница - это последняя пятница года? Это мой первый опыт с подобным, и до супер пупер пользования SQL мне далеко, а задания нужно выполнять. Я понимаю, ты тратишь свое время, но ты можешь написать Step by Step? Что за чем? |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Не-а... ведь до сих пор не поставлена строгая задача. То тебе хранить, то проверять, то выбирать, то вообще неясно что... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
McDoc |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Спасибо, за еще за одну науку. 1 - Есть готовая ДБ. 2 - Есть колонна frequency в которой прописывается аргумент (номер недели 1, 2, 3, 4) 3 - Какой аргумент соответствует последней недели Last? Так как последний может быть 4, 5 или даже 6 Нужно для начала выправить запрос. Который уже есть (если он неправильный), или написать, какой аргумент нужно поместить в таблицу в колонку frequency, что бы он соответствовал ПОСЛЕДНЕЙ недели месяца.
|
||||
|
|||||
Akina |
|
||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Нормально так... это уже ТЫ должен определить, что там будет стоять, если данное задание следует выполнять в последнюю неделю. Т.е. например так:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Хорошо.
Для упрощения возьмем: Неделя - Аргумент 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 Last - 21 Так как WEEKDAY - понимает только цифры - http://dev.mysql.com/doc/refman/5.6/en/dat...unction_weekday - верно ли это? Когда пользователь в Форме (форма на странице HTML и РНР) выбирает Неделя 1, 2, 3, 4, 5 или Last (для отправки данных в таблицу) - у нас в таблицу идет аргумент 21. Верно? На данный момент мы имеем таблицу и в ручную вносим аргумент 21. ![]() У нас имеется три записи на Понедельник: 1 - Понедельник (2) пятой недели (5) Июня (June) 2 - Понедельник (2) последней недели (21) Июня (June) 3 - Понедельник (2) четвертой недели (21 Июня (June) ![]() Сегодня 23 Июня 2014 года. Понедельник - Пятая неделя. Запускаем запрос: ![]() И результат НОЛЬ - ничего не выводит Меняем дату на 30-06-2014 (шестая неделя), снова запускаем запрос: ![]() результат так же ноль!!! Меняем дату на 16-06-2014 (четветая неделя), запускаем запрос: ![]() Результат НОЛЬ. В чем проблема? Где ошибки? Все точно расписал? |
|||
|
||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Небольшое уточнение, которое ни где не прочитать:
- Любой месяц и отчет недель месяца начинается с понедельника - Если 1-е число любого месяца выпадает на Воскресенье или Субботу эти дни относятся к неделе прошлого месяца Блин, пока не столкнулся, нифига не знал! |
|||
|
||||
Akina |
|
||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Да, верно. Мы просто кодируем информацию тем способом, который считаем удобным. Причём в данном случае удобным не только нам (нам по большому счёту сиренево, числа там или слова), но и серверу (ему проще, быстрее и естественнее работать с целыми числами, чем со строками). Угу. Клиентская часть с этим вполне справится - заменой строки Last на число 21. Кстати, и с остальными значениями будет то же самое - на экране отображается строка "1", а серверу передаётся соответствующее этой строке число 1. Пусть они выглядят внешне одинаково, но тип у них разный. Не-не-не... это беллетристика. Давай ставить ЗАДАЧУ. То есть формализовать весь этот словесный хлам и получать ТЗ. Типа: Итак, имеется таблица (тут должен быть приведён соответствующий CREATE TABLE ...). В ней имеются записи (а тут - соответствующий INSERT ... VALUES ...). Имеется некая дата. Например, текущая. Или некая заданная. Задача - вывести из таблицы те записи, которые соответствуют указанной (то есть сегодняшней или заданной) дате. Т.е. попадают в диапазон полей начало-конец, и соответствуют деформализованному номеру недели. Добавь в это дело все (абсолютно все!) тонкости и условности, чтобы исключить ЛЮБЫЕ непонятности либо разночтения (включительно или невключительно заданы интервалы, как считать номер недели и пр.) - и тогда можно будет приступать к решению задачи. Добавлено через 1 минуту и 8 секунд
А если, например, на среду, то что есть "первая неделя"? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Возьму перерыв..... топчусь рядом....
Пока возьмусь за несколько другу работу. И по ней вопросы в другой теме.... |
|||
|
||||
McDoc |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Вместо того, что в ручную забивать данные в таблицу, решил отправить из через форму, так проще по ходу будет, что бы код сам послал аргумент, ну а после запрос из таблицы можно составить.
И так, есть форма ![]() Все работает отлично. Кроме двух элементов. Вначале о наболевшем. Frequency - выбираем First - в талицу отпраляется 1, и так далее. Так как при запросе из БД weekday понимает только НОМЕР, а не слово - мне нужно как то послать аргумент Last. WEEKDAY идеально читает номера недель как 1, 2, ... 5. Если выбрать Every - я не еще не уверен, либо по умолчанию должно в таблице быть NULL либо пробовать как NULL слово отправить. И так код:
и отправка в таблицу
и запрос отправки в таблицу:
/Выбрал First - иденичка летит в талицу, а вот... Last and Every... проблематичней. |
||||||
|
|||||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
По ходу тут нужно использовать временную метку... - http://www.php.net/manual/ru/function.strtotime.php - хотя до конца еще не уверен.
Есди ее использовать, то по идее мне как то надо собрать дату до кучи, из того что есть. Меня интересует как пример - Последняя Пятница Января вне зависимости от года. Но получается фигня какая то. Если привязывать к конкретной дате - более понятно... Но к абстрактной, не выходит. Как пример:
Что выходит... 1403820000 1403906400 1404079200 1401055200 Последние два значения должны быть одинаковыми... Какой то тупиковый путь (((( |
|||
|
||||
McDoc |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Решено!
Кому надо пользуейтесь:
А вот запрос... Вот где фишка - а не в аргументе.
Akina, - умный(ая) простите не имею чести знать, но все таки до конца сам(а) не знал(а) ответа. |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Радуйтесь, что tangir-у оказалось не лень разбираться в Вашем "потоке сознания".
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
McDoc |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 23.11.2011 Где: Dublin Репутация: нет Всего: нет |
Он единственный кому не надо было делать уточнения, и не требовал дополнений.
Отлично и быстро направил. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |