Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 07.08.2016, 01:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от user71
хорошо где в доках описаны методы обработки?
Сперва получайте данные уже отсортированные SQL запросом, а получить из них родителей->потомков уже будет не сложно.
Ответить с цитированием
  #22 (permalink)  
Старый 07.08.2016, 01:10
Аспирант
Отправить личное сообщение для user71 Посмотреть профиль Найти все сообщения от user71
 
Регистрация: 30.07.2016
Сообщений: 41

laimas,
несколько ajax запросов? или вы имеет ввиду просто сделать сортировку по именам в пределах одного запроса. т.е на выходе будет json а имена по порядку.
Ответить с цитированием
  #23 (permalink)  
Старый 07.08.2016, 01:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

В чем у вас проблема - расфасовать данные или ...? Если первое, то запрос должен возвращаться отсортированным согласно их принадлежности, чего там у вас name-time-count? Ну так получайте, а кроме как проходом в цикле этих данных нельзя (хотя можно и пересечением массивов такое сотворить) получить из них name=>[[time, count], [time, count], ...].
Ответить с цитированием
  #24 (permalink)  
Старый 07.08.2016, 02:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

user71,
какими данными оперировать из вашего примера #19 ?
в примере ниже данные продублированы на следующий день.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-more.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script>
$(function () {
var data = [{"ind":1,"create_at":"2016-07-29T11:40:23.000Z","name":"user1","counter":5,"counter2":8},{"ind":2,"create_at":"2016-07-29T11:40:23.000Z","name":"user2","counter":2,"counter2":9},{"ind":3,"create_at":"2016-07-29T11:40:23.000Z","name":"user3","counter":0,"counter2":4},{"ind":4,"create_at":"2016-07-29T11:40:23.000Z","name":"user4","counter":2,"counter2":0},{"ind":1,"create_at":"2016-07-30T11:40:23.000Z","name":"user1","counter":5,"counter2":8},{"ind":2,"create_at":"2016-07-30T11:40:23.000Z","name":"user2","counter":2,"counter2":9},{"ind":3,"create_at":"2016-07-30T11:40:23.000Z","name":"user3","counter":0,"counter2":4},{"ind":4,"create_at":"2016-07-30T11:40:23.000Z","name":"user4","counter":2,"counter2":0}]


var obj = data.reduce(function(a, b) {
    if (!a[b.name]) a[b.name] = [];
    a[b.name].push([+new Date(b.create_at), +Math.min(+b.counter, +b.counter2), +Math.max(+b.counter, +b.counter2)]);
    return a
}, {});
data = Object.keys(obj).map(function(key) {
    return {
        name: key,
        type: "arearange",
        data: obj[key].sort(function(a, b) {
            return b[0] - a[0]
        })
    }
});


    $('#container').highcharts({
        xAxis: {
            type: 'datetime'
        },
       series: data

    });
});
</script>
</head>
<body>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
</body>
</html>
Ответить с цитированием
  #25 (permalink)  
Старый 07.08.2016, 12:07
Аспирант
Отправить личное сообщение для user71 Посмотреть профиль Найти все сообщения от user71
 
Регистрация: 30.07.2016
Сообщений: 41

рони,
Благодарю за интересный пример кода. А может ли это сделать сам highcharts? Таким вот образом всегда приходится поступать в javascript или это просто неудачное стечение обстоятельств? Я про преобразовпния массива
Ответить с цитированием
  #26 (permalink)  
Старый 07.08.2016, 15:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

user71,
мне вас сложно понять, все ответы вы уже получили ранее.
Ответить с цитированием
  #27 (permalink)  
Старый 07.08.2016, 17:20
Аспирант
Отправить личное сообщение для user71 Посмотреть профиль Найти все сообщения от user71
 
Регистрация: 30.07.2016
Сообщений: 41

рони,
А этот код можно объявить как структуру или прототип функции или только непосредственно вставить в ajax?
Ответить с цитированием
  #28 (permalink)  
Старый 07.08.2016, 17:22
Аспирант
Отправить личное сообщение для user71 Посмотреть профиль Найти все сообщения от user71
 
Регистрация: 30.07.2016
Сообщений: 41

https://msdn.microsoft.com/ru-ru/library/64973255.aspx
Ответить с цитированием
  #29 (permalink)  
Старый 07.08.2016, 17:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

user71,
я не знаю C++, поэтому не понимаю о чём вы говорите, особенно не понимаю какая проблема сформировать нужный массив на сервере.
код ниже это всё чем я могу вам ещё помочь
$(function() {
$.getJSON(url, function(data) {

var obj = data.reduce(function(a, b) {
    if (!a[b.name]) a[b.name] = [];
    a[b.name].push([+new Date(b.create_at), +Math.min(+b.counter, +b.counter2), +Math.max(+b.counter, +b.counter2)]);
    return a
}, {});
data = Object.keys(obj).map(function(key) {
    return {
        name: key,
        type: "arearange",
        data: obj[key].sort(function(a, b) {
            return b[0] - a[0]
        })
    }
});


    $('#container').highcharts({
        xAxis: {
            type: 'datetime'
        },
       series: data

    });

  });

});
Ответить с цитированием
  #30 (permalink)  
Старый 07.08.2016, 20:42
Аспирант
Отправить личное сообщение для user71 Посмотреть профиль Найти все сообщения от user71
 
Регистрация: 30.07.2016
Сообщений: 41

Жаль. Все равно спасибо вам огромное. Вы мне очень помогли.
Я на js всего лишь вторую неделю пытаюсь писать может еще не знаю как что называется -) вот вы меня и не поймете ни как.

Последний раз редактировалось user71, 07.08.2016 в 20:45.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать данные в другую панель из выбранной строки таблицы. layout: 'card'. Пролетарий ExtJS 5 03.06.2015 22:53
Как добавить данные в глобальный массив из функции Jigan2 jQuery 2 14.03.2015 18:06
Не понимаю как вернуть результат запроса, чтобы вставить в элемент realstranger AJAX и COMET 1 01.09.2014 23:20
Как передать данные из jqGrid в текстовое поле? Rooner jQuery 2 27.09.2012 19:31
Как вывести данные из PHP Sherminator Events/DOM/Window 2 07.08.2012 20:11