Så du säger att du har
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
och du vill beräkna produkten av huvuddiagonala poster (bortsett från id
kolumn)?
Det framgår inte av din fråga om det är detta du vill göra eller om du bara vill beräkna data1 * data2 * data3
för varje rad.
Om det är det senare:Du bör göra detta i MySQL. Lägg till en extra kolumn till kolumnlistan i ditt urvalsuttryck:
SELECT
id,
...,
data1 * data2 * data3 AS product
FROM
...
Om det är det förra:Du bör göra detta i PHP snarare än MySQL. Du kan göra detta genom att ställa in en flerdimensionell array.
Du har förmodligen kod som ser ut ungefär så här:
while ( $row = mysqli_fetch_assoc($query_result) ) {
echo $row['id'].' '.$row['data1'].' '.$row['data2'].' '.$row['data3'];
}
Vi kommer att ändra det till följande:
$myarray = array();
while ( $row = mysqli_fetch_assoc($query_result) ) {
$myarray[] = array($row['data1'], $row['data2'], ['data3']);
}
Nu om du lägger till följande:
echo '<pre>';
var_dump($myarray);
echo '</pre>';
'; du kommer att se att vi har en tvådimensionell array.
Om vi nu vill hitta produkten av de diagonala posterna i den matrisen kan vi använda detta:
$product = $myarray[0][0] * $myarray[1][1] * $myarray[2][2];