2016-12-17 1 views
2

гуру хорошего дня! возникли проблемы с получением сумм, макс, минимальных значений в массивахне удалось получить значения из массивов

мой скрипт выглядит следующим образом;

$result = mysql_query("SELECT date, reading FROM table "); 

$firstReading = 30089; 

while($row = mysql_fetch_array($result)){ 
    $presentRow = $row['reading']; 

    $consumption = (($presentRow - $firstReading)); 
    $firstReading = $presentRow; //back to presentRow 
    echo "['".$row['date']."', ".$row['reading'].", ".$consumption."],"; 

это дает что-то подобное;

['2016-10-01', 30153, 64],  
['2016-10-02', 30209, 56],  
['2016-10-03', 30253, 44],  
['2016-10-04', 30315, 62],  
['2016-10-05', 30373, 58], 

эхо array_sum (array_column ($ Расход, [2])); // суммировать все значения в третьем столбце

, но когда я позвонил, чтобы суммировать/максимальные/минимальные значения (потребление) , это ничего не эхо. есть что-то не хватает? нужна помощь здесь. Я хочу, чтобы получить сумму, макс., мин. значений потребления.

Я попробовал пользователь def var в инструкции для mysql set, и он работает, однако thers ошибка, когда я запускаю его с php. вот мой запрос (SET @firstreading: = 30089; SELECT (чтение[email protected] firstreading) потребление AS, @firstreading: = чтение таблицы FROM). он преуспевает в mysql, но у меня есть ошибка в браузере, работающем с php. Ошибка myqsl линия 1-бла-бла-бла .... (пользователь сам определить вар)

+1

_but, когда я назвал подытожить/max/min (расход) _ -> где код, на который вы это называете? – jitendrapurohit

+0

сожалеет, что его стерли. его предполагается под выходом .. Кстати, heres код echo array_sum (array_column ($ потребления, [2])); –

+0

не могли бы вы отредактировать вопрос и вставить код в нужное место? – jitendrapurohit

ответ

1

Я думаю, вам нужно переписать это и сделать это что-то вроде -

while($row = mysql_fetch_array($result)){ 
    $presentRow = $row['reading']; 

    $consumption = (($presentRow - $firstReading)); 
    $firstReading = $presentRow; //back to presentRow 

    //put every thing in array instead of a string. 
    $data[] = array(
    'date' => $row['date'], 
    'reading' => $row['reading'], 
    'consumption' => $consumption, 
); 
} //close the while loop 

// sum the values of the column you need 
$sum = array_sum(array_column($data, 'consumption')); 

echo $sum; //would be the sum of all the values in consumption 
+0

ничего не эхо. уже пробовал этот подход раньше, но ничего –

Смежные вопросы