Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Подсчет пропущенных очков по дням в месяце, Как лучше всего сделать? Ломаю голову..
zippel  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42926
На форуме: 6 месяцев, 28 дней
Карма:




Есть три массива:
Первый: дни
Второй: очки

Допустим месяц 31 день. Нужно посчитать кол-во очков за весь месяц. Не проблема. Посчитали.
Однако, в массиве "дни" есть дни месяца которые вылетели, соответственно для таких дней, данные в массив "очки" не заносились.

Задача: вывести сколько очков было начислено каждый день. Учитывая что данные о них поступали с перебоями - появляется некая сложность в реализации данного метода. Потому что разрыв может быть не только в середине месяца.. может быть с 20го, по 5е числа. Тогда вообще полная жопа, потому что счет в данный момент идет только с 1го по 1е числа. Т.е. получается данные не достоверны и в каждый пропущенный день, я теряю N кол-во очков. Подскажите как лучше всего реализовать алгоритм подсчета пропущенных очков, если надо выводить статистику за каждый день месяца, целого года..

user posted image

Это сообщение отредактировал zippel - 4.05.2016 - 18:49
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




Цитата (zippel @ 4.05.2016 - 17:31)
Подскажите как лучше всего реализовать алгоритм подсчета пропущенных очков

как можно подсчитать то чего нет?


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 121
Пользователь №: 42899
На форуме: 7 месяцев, 4 дня
Карма: 3




о каких очках речь user posted image?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


Цитата
Есть три массива:

Цитата
Первый: дни
Второй: очки


user posted image


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 4 дня
Карма: 77




Создай пропущенные/пустые дни, со значением ноль. Ну чтобы в массиве не было "дыр".
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




Kusss, накуя? smile.gif


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zippel  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42926
На форуме: 6 месяцев, 28 дней
Карма:




Цитата (Kusss @ 5.05.2016 - 14:15)
Создай пропущенные/пустые дни, со значением ноль. Ну чтобы в массиве не было "дыр".

Это тоже самое только в профиль. Скрипт и так считает то чего нет как 0. На самом деле там что то есть, но счетчик видимо просто вылетает или не успевает всегда списать их.

P.S. я решил как сделать, что бы не добавлять еще лишний запрос.. брать МАХ и МIN значения каждого месяца. И когда появится косяк с 1м числом месяца, просто считать через MAX значение предыдущего месяца. Это херня.. так прокатит.

Прикол вот в чем. Теперь мне надо такое же проделать и для часов дня user posted image, но это тоже походу та же засада, спасает что диапазон - месяц. А не год. Хотя.. алгоритм тот же.

Кто спрашивал про бонусы: http://images.vfl.ru/ii/1462456995/9d2d9c3c/12554341.jpg user posted image

Цитата
Цитата
Есть три массива:

Цитата
+1


Это сообщение отредактировал zippel - 5.05.2016 - 17:03
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sg.com  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 121
Пользователь №: 42899
На форуме: 7 месяцев, 4 дня
Карма: 3




Цитата (zippel @ 5.05.2016 - 16:46)
Кто спрашивал про бонусы

Не вижу сложностей, судя по представленной таблице и описанию, "очки" это то что занесено в клетках таблицы, например 0,7кВтч, это 0,7 "очков", если это показания счетчика, то это - показания счетчика, а если коэффициенты, то можно сделать им соответствующие индексы и ничего не будет выпадать. Ну это только догадки, по описанию сложно однозначно судить что есть что.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14962
Пользователь №: 4190
На форуме: 8 лет, 9 месяцев, 25 дней
Карма: 443




zippel, можно так подойти.
Во-первых, сделай не несколько массивов, а один. Где каждый элемент содержит несколько элементов.
Во-вторых, сначала инициализируй этот массив на весь период времени, с которым будешь работать. Установи все данные в ноль.
И только затем загружай данные в этот массив. Тогда ты автоматически получишь нулевые данные для тех дней, для которых данных нет.


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zippel  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42926
На форуме: 6 месяцев, 28 дней
Карма:




Цитата (sergeiss @ 6.05.2016 - 12:07)
zippel, можно так подойти.
Во-первых, сделай не несколько массивов, а один. Где каждый элемент содержит несколько элементов.
Во-вторых, сначала инициализируй этот массив на весь период времени, с которым будешь работать. Установи все данные в ноль.
И только затем загружай данные в этот массив. Тогда ты автоматически получишь нулевые данные для тех дней, для которых данных нет.

Инициализирую массивы когда делаю запрос к БД. Сейчас возникла вот эта надобность и я теперь думаю как сделать, через мультизапросы или есть какой нибудь другой метод запроса.
Например как с CASE THEN, но у меня через него что-то не выход.. Плохо знаком с MySQL :\

Это сообщение отредактировал zippel - 7.05.2016 - 06:15
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
zippel  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42926
На форуме: 6 месяцев, 28 дней
Карма:




к тому же, я уже говорил - что отсутствие значения - не значит что оно 0 wink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса