Значи казвате, че имате
id data1 data2 data3
1 2.5 2.6 2.7
2 2.6 7.0 8.2
3 3.0 1.8 6.0
и искате да изчислите произведението на главните диагонални записи (без внимание на id
колона)?
От въпроса ви не става ясно дали това е, което искате да направите, или просто искате да изчислите data1 * data2 * data3
за всеки ред.
Ако е последното:Трябва да направите това в MySQL. Добавете допълнителна колона към списъка с колони в оператора за избор:
SELECT
id,
...,
data1 * data2 * data3 AS product
FROM
...
Ако е първото:Трябва да направите това в PHP, а не в MySQL. Можете да направите това, като настроите многоизмерен масив.
Вероятно имате код, който изглежда така:
while ( $row = mysqli_fetch_assoc($query_result) ) {
echo $row['id'].' '.$row['data1'].' '.$row['data2'].' '.$row['data3'];
}
Ще го променим на следното:
$myarray = array();
while ( $row = mysqli_fetch_assoc($query_result) ) {
$myarray[] = array($row['data1'], $row['data2'], ['data3']);
}
Сега, ако добавите следното:
echo '<pre>';
var_dump($myarray);
echo '</pre>';
'; ще видите, че имаме двуизмерен масив.
Сега, ако искаме да намерим продукта на диагоналните записи в този масив, можем да използваме това:
$product = $myarray[0][0] * $myarray[1][1] * $myarray[2][2];