Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (8) 1 2 [3] 4 5 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Данные за каждый месяц, как лучше реализовать?
Invis1ble  
Дата
Цитировать сообщение

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата
У меня есть подозрение, что его "PDO.... fetchAll" хочет сначала вытащить всё в ПХП, а потом только работать с данными.

у меня похожие подозрения, но это не отменяет того факта, что возможна ситуация с нехваткой оперативки при стандартных настройках. Где-то мельком видел, что можно как-то по хитрому выбирать, типа в пых попадает по одной записи по мере итерации или как-то так. Но если правильно помню, то там какие-то специфические настройки или какой-то подобный нюанс был, в общем вариант явно не для шареда. Надо будет как-нибудь плотнее разобраться с этим.


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

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



Местный житель
****

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




Цитата (Valick @ 25.12.2014 - 10:16)
сделайте вот так
$totalValue = array_fill(1, 12, 0);
while($resultTotal = mysql_fetch_array($total))
{
$totalValue[$resultTotal['month']] = $resultTotal['number'];
}
print_r($totalValue);

Array ( [1] => 2 [2] => 2 [3] => 6 [4] => 2 [5] => 3 [6] => 9 [7] => 3 [8] => 7 [9] => 0 [10] => 2 [11] => 3 [12] => 2 )

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

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


Valick
Цитата
ты только что на весь форум признался в говнокодерстве

я и до этого признавался в этом, открыл Америку biggrin.gif
А теперь расскажи, как решить задачу без своего тро-ло-ло. Исходные данные у тебя есть.


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

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



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

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




Цитата
У меня есть подозрение, что его "PDO.... fetchAll" хочет сначала вытащить всё в ПХП, а потом только работать с данными.

Invis1ble, всё очень просто отказаться от использования fetchAll


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

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



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

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




Цитата (Okulo @ 25.12.2014 - 13:28)
вот такой ответ. а в графике за январь почему то ничего не выводит

значит график хочет $totalValue[0] для января :D
дайте ему ноль))
$totalValue = array_fill(0, 11, 0);
while($resultTotal = mysql_fetch_array($total))
{
$totalValue[$resultTotal['month']-1] = $resultTotal['number'];
}
print_r($totalValue);


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

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата
всё очень просто отказаться от использования fetchAll

что использовать вместо fetchAll ?

PS. ТС, извини, что мы тут междусобойчик устроили smile.gif Мы же тебе не сильно мешаем, да? smile.gif


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

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



Местный житель
****

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




Цитата (Invis1ble @ 25.12.2014 - 10:43)
Цитата
всё очень просто отказаться от использования fetchAll

что использовать вместо fetchAll ?

PS. ТС, извини, что мы тут междусобойчик устроили smile.gif Мы же тебе не сильно мешаем, да? smile.gif

без проблем wink.gif

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

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



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

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




Цитата (Invis1ble @ 25.12.2014 - 14:17)
она у меня и так простейшая, SELECT * FROM `table_name`

А зачем тогда оффсеты??? Ты когда сказал про лимиты с оффсетами, то я решил (небезосновательно), что запрос достаточно сложный.


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

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

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

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

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


sergeiss
я же написал, запрос запускаю в цикле из-за нехватки памяти. Типа
select * from `table` limit 10;

select * from `table` limit 10 offset 10;

select * from `table` limit 10 offset 20;


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

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



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

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




Цитата (Invis1ble @ 25.12.2014 - 13:43)
что использовать вместо fetchAll ?


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

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



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

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




Цитата (Invis1ble @ 25.12.2014 - 14:59)
я же написал, запрос запускаю в цикле из-за нехватки памяти. Типа
select * from `table` limit 10;

select * from `table` limit 10 offset 10;

select * from `table` limit 10 offset 20;

Я понял, что ты так запускаешь :) Но вот я и спрашиваю "нахрена так запускаешь"? Ведь третий из твоих запросов выберет 30 записей, вернет 10 последних. А если будет так
select * from `table` limit 10 offset 1000000;

то будет выбрано 1 млн 10 записей (внутри Мускуля)... Из которых только 10 будет возвращено в ПХП. Зачем так Мускуль насиловать, ему и без этого не сладко живется :)

Я ж потому и говорю, что надо из каждого предыдущего запроса брать айдишник (или другое поле) последней записи и использовать его.
select * from `table` order by id limit 10; # предположим, что в последней записи получили id=25

select * from `table` where id > 25 order by id limit 10; # получили вторую десятку записей

# и так далее


Это сообщение отредактировал sergeiss - 25.12.2014 - 15:20


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

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

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

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

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



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

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




Цитата (Okulo @ 25.12.2014 - 14:28)
вот такой ответ. а в графике за январь почему то ничего не выводит

У тебя в массиве январю соответствует индекс 1. А там, где строишь графики, что ему соответствует?

PS. Сорри, сначала написал 0, хотя подразумевал 1. Исправил.

Это сообщение отредактировал sergeiss - 25.12.2014 - 15:22


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

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

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

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

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


sergeiss
Да, ты прав, так лучше будет.
Два нюанса, чтоб было понятней:
1) скрипт был практически одноразовый, так что над такой оптимизацией я не особо задумывался. Ну будет запускаться раз в полгода, ориентировочно. А может и вообще не будет больше.
2) Узкое место в скорости далеко не мускул smile.gif


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

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



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

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




Цитата (Invis1ble @ 25.12.2014 - 15:20)
Узкое место в скорости далеко не мускул

А как быть с удовлетворением от качественно сделанной работы? wink.gif


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

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

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

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

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




******

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

Трезвый :
7 лет, 3 месяца, 15 дней


Цитата (sergeiss @ 25.12.2014 - 14:21)
Цитата (Invis1ble @ 25.12.2014 - 15:20)
Узкое место в скорости далеко не мускул

А как быть с удовлетворением от качественно сделанной работы? wink.gif

А никак, когда "надо было ещё вчера" smile.gif


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

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

Опции темыСтраницы: (8) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса