2016-07-17 2 views
1
$result = mysql_query("SELECT Country, Quantity FROM `table 1`"); 

$rows = array(); 
while($r = mysql_fetch_array($result)) { 
$row[0] = $r[0]; 
$row[1] = $r[1]; 
array_push($rows,$row); 
} 

print json_encode($rows, JSON_NUMERIC_CHECK); 

Как я могу получить данные при его вычислении сначала? Мне нужно добавить код ниже к приведенному выше коду и отобразить на графике.Как я могу получить данные при их вычислении сначала?

while($row = mysql_fetch_array($result1)){ 
      echo "Total Quantity = ". $row['SUM(quantity)']; 
      echo "<br />"; 
+0

вы можете сделать все ваши вычисления внутри цикла while –

+0

'$ result' и' $ result1' принадлежат к тем же или различным запросам? Если позже, как совместить результаты? – Sirko

+1

прекратите использование 'mysql_ *'. используйте 'mysqli_ *' OR 'PDO' –

ответ

0

Вы можете добавить общую строку, сохраняя текущую сумму в цикле, и после цикла вы можете добавить, что всего в массив:

$total = 0; 
while($r = mysql_fetch_array($result)) { 
    $total += $r[1]; 
    $rows[] = $r; 
} 
$rows[] = ['Total', $total]; 

Обратите внимание, что:

  • вам не нужно копировать каждое значение по одному (например, $row[0] = $r[0];), вы можете просто назначить весь массив;
  • Добавление в массив может быть выполнено с помощью array_push, но $rows[] = также работает и, вероятно, быстрее.
  • mysql_ функции устарели долгое время и больше не поддерживаются в текущей версии PHP (7.x). Пожалуйста, use mysqli_ functions or PDO instead.
1

Вы можете просто получить сумму на SUM in mysql

$result = mysql_query("SELECT SUM(column_name) AS TotalFROM `table 1`"); 

или вы можете подвести его в вашем while loop

$total = '';  
    $rows = array(); 
    while($r = mysql_fetch_array($result)) { 
    $row[0] = $r[0]; 
    $row[1] = $r[1]; 
    $total = $r[1] + $total; 
    array_push($rows,$row); 
    } 
    $rows[]['total'] = $total; 
    echo "<pre>";print_r($rows); 

Также используйте PDO или mysqli подготовленные заявления mysql является depreciated и полностью удалены в PHP7

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