Рачей

Рачей

Завтра концерт!
+291
Репутация
1856
Рейтинг
#1 Запрос с подвыподвертом. 16 марта 2021 в 17:14
Привет всем.
У меня в базу каждый час пишутся остатки.
Как мне получить из этого продажи?

Сейчас это происходит так:

  1. SELECT SUM(i.qty) AS vsego FROM `vvstat_qty` i
  2. WHERE i.product_id = '1'
  3. AND (date_pub >= DATE("2021-03-12") AND date_pub <= DATE("2021-03-12") +1)
  4. GROUP BY HOUR(i.date_pub)

Я получаю количество остатков за каждый час и потом в массиве вычитаю из первой суммы следующую… ну а последнюю отрезаю так как ей не из чего вычитать..

Хочется знать, есть ли нормальные способы получить статистику продаж основываясь на остатках? И желательно средствами MySQL
#1 Ошибка на чистой системе без данных во вкладке пользователя 15 марта 2021 в 20:55
Вот ещё одна ошибка в чистой системе на новой теме модерн. Но ошибка только у нового пользователя.

  1.  
  2. Notice
  3. : Undefined index: id in
  4. /system/libs/html.helper.php
  5. on line
  6. 86
  7.  
#2 Ajax отправка после заполнения даты из календаря 12 марта 2021 в 13:39
Zau4man,
Спасибо. Помог bind
#1 Ajax отправка после заполнения даты из календаря 12 марта 2021 в 00:23
Привет всем.

И снова мучения с яваскрипт
Как мне отправить форму датапикера?
Я уже перепробовал что только мог… и change changeDate и фокус и даже focusout но при focusout дата не успевает вставиться в поле что бы отправиться...


  1.  
  2.  
  3. <script type="text/javascript" language="javascript">
  4. $(document).ready(function(){
  5. $('#formdata').on('КАК?', function () {
  6. // data = '+++';
  7.  
  8. var dtime = {date : $("#formdata").val()};
  9. $.ajax({
  10. // Метод передачи
  11. type: 'POST',
  12. // Файл которому передаем запрос и получаем ответ
  13. url: '/tmp/ajax.php',
  14. // Кеширование
  15. cache: false,
  16. // Верямя ожидания ответа, в мили секундах 1000 мс = 1 сек
  17. timeout:3000,
  18. data: dtime,
  19. // Функция сработает при успешном получении данных
  20. success: function(datas) {
  21. // Отображаем данные в форме
  22. $('#results').html(datas);
  23. },
  24. // Функция срабатывает в период ожидания данных
  25. beforeSend: function(datas) {
  26. $('#results').html('<p>Ожидание данных...</p>');
  27. },
  28. // Тип данных
  29. dataType:"html",
  30. // Функция сработает в случае ошибки
  31. error: function(datas){
  32. $('#results').html('<p>Возникла неизвестная ошибка. Пожалуйста, попробуйте чуть позже...</p>');
  33. }
  34. });
  35. });
  36. });
  37. </script>
  38.  
  39. <?php echo html_datepicker('nam', '', ['id'=>'formdata', 'class' => 'mr-sm-2 mb-2 mb-sm-0'], ['minDate'=>date('d.m.Y', 86400)]); ?>
  40.  
  41.  
#3 Преобразовать массив 9 марта 2021 в 00:11
Извините, надо было кусок этого чарта сюда запулить. На всякий случаях что бы те кто посмотрят понимали о чем речь.

developers.google.com/chart/interactive/docs/gallery/linechart#creating-material-line-charts

  1.  
  2.  
  3. google.charts.load('current', {'packages':['line']});
  4. google.charts.setOnLoadCallback(drawChart);
  5.  
  6. function drawChart() {
  7.  
  8. var data = new google.visualization.DataTable();
  9. data.addColumn('number', 'Day');
  10. data.addColumn('number', 'Guardians of the Galaxy');
  11. data.addColumn('number', 'The Avengers');
  12. data.addColumn('number', 'Transformers: Age of Extinction');
  13.  
  14. data.addRows([
  15. [1, 37.8, 80.8, 41.8],
  16. [2, 30.9, 69.5, 32.4],
  17. [3, 25.4, 57, 25.7],
  18. [4, 11.7, 18.8, 10.5],
  19. [5, 11.9, 17.6, 10.4],
  20. [6, 8.8, 13.6, 7.7],
  21. [7, 7.6, 12.3, 9.6],
  22. [8, 12.3, 29.2, 10.6],
  23. [9, 16.9, 42.9, 14.8],
  24. [10, 12.8, 30.9, 11.6],
  25. [11, 5.3, 7.9, 4.7],
  26. [12, 6.6, 8.4, 5.2],
  27. [13, 4.8, 6.3, 3.6],
  28. [14, 4.2, 6.2, 3.4]
  29. ]);
  30.  
  31. var options = {
  32. chart: {
  33. title: 'Box Office Earnings in First Two Weeks of Opening',
  34. subtitle: 'in millions of dollars (USD)'
  35. },
  36. width: 900,
  37. height: 500
  38. };
  39.  
  40. var chart = new google.charts.Line(document.getElementById('linechart_material'));
  41.  
  42. chart.draw(data, google.charts.Line.convertOptions(options));
  43. }
  44.  
  45.  
Попробовал его водрузить к делу.
Для дальнейшего понимания. Я компонент написал который каждый час пишет в базу остатки товара в магазинах вкусвилл.
И решил попробовать график
У меня из базы берутся товары группируются по часу и получается что эти два товара из MySQL выходят сначала один каждый час выдаёт количество, потом второй…
изначально вывод из базы, кстати задействованы только стандартные запросы инстанта, выглядит вообще никак совсем не рвядом. Если интересно могу показать и структуру базы и запрос…
#4 Преобразовать массив 9 марта 2021 в 00:05
Нифигаccе о-го-гошеньки, Fuze, спасибо, все вышло.
Это яваскрипт. Попробовал Гугл чарт… не чарт а черт какой-то… 😊))
#5 Преобразовать массив 8 марта 2021 в 23:53
Нифигаccе о-го-гошеньки, спасибо! Это уже ближе к телу… теперь как-то от print_r избавиться. Как это в строку перевести?
#6 Преобразовать массив 8 марта 2021 в 23:44
Fuze,
Спасибо, а как это преобразовать в строку?
Пытаюсь вывести Гугл чарт…
Там блин как-то ну совсем не дружно с MySQL
  1.  
  2.  
  3. data.addRows([
  4. [1, 1200, 80.8],
  5. [2, 30.9, 69.5],
  6. [3, 25.4, 57],
  7. [4, 11.7, 18.8],
  8. [5, 11.9, 17.6],
  9. [6, 8.8, 13.6],
  10. [7, 7.6, 12.3],
  11. [8, 12.3, 29.2],
  12. [9, 16.9, 42.9],
  13. [10, 12.8, 30.9],
  14. [11, 5.3, 7.9],
  15. [12, 6.6, 8.4],
  16. [13, 4.8, 6.3],
  17. [14, 4.2, 6.2],
  18. [16, 0.2, 3.5]
  19. ]);
  20.  
  21.  
#1 Преобразовать массив 8 марта 2021 в 23:00
Привет всем. Подскажите как мне сделать из этого
  1.  
  2.  
  3. [09] => Array
  4. (
  5. [0] => 1654
  6. [1] => 1764
  7. )
  8.  
  9. [10] => Array
  10. (
  11. [0] => 1625
  12. [1] => 1732
  13. )
  14.  
  15.  
Вот такое
  1.  
  2. [09, 1654, 1764]
  3. [10, 1625, 1732]
  4.  
Спасибо.
#1 Ошибка на чистой системе без данных во вкладке пользователя 4 марта 2021 в 15:08
На чистой системе на вкладке «профиль» пользователя. Все типы контента отключены. Если включить хоть один то ошибка исчезает.
Warning: Invalid argument supplied for foreach() in /system/controllers/content/model.php on line 2637
В данном случае не нужны встроеные компоненты поэтому и обнаружилось.
#7 Пользователь из группы 4 марта 2021 в 13:22
Fuze, спасибо. Уже туда забрался смотреть
#8 Пользователь из группы 4 марта 2021 в 13:04


Либо делать в своей модели аналог метода modelUsers->filterGroups()

WebMan
То есть штатными методами это никак не сделать?
#9 Пользователь из группы 4 марта 2021 в 12:46
Так я и написал в своей модели хочу получить..

Говорит вызов неопределенного метода.

Uncaught Error: Call to undefined method modelVstat::filterGroups()

Как его определить не понятно. Получается в своей модели надо еще модель пользователя включить?
#1 Пользователь из группы 4 марта 2021 в 11:35
Привет всем. В своей модели хочу получить строку пользователя из базы product который состоит в определенной группе.
Но что-то говорит мне чтоб делаю не правильно
  1.  
  2.  
  3. $this->joinUser('user_id', array('nickname'=>'user_nickname'));
  4. $this->filterGroups(array (5 , 6));
  5. $this->orderBy('cnt', 'asc');
  6. $data = $this->get('products');
  7.  
  8.  
Ругается на filterGroups. Подскажите как правильно построить запрос?
Спасибо.
#10 Создать очередность для крона 4 марта 2021 в 09:10


Будет несколько записей с одинаковым счётчиком, возьмет первую и всё.

Loadырь

Спасибо, попробую пока так.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.