Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP Maths auf SQL-Daten

Sie sagen also, Sie haben

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

und Sie möchten das Produkt der Hauptdiagonaleinträge berechnen (ohne Berücksichtigung der id Spalte)?

Aus Ihrer Frage geht nicht hervor, ob Sie dies tun möchten oder ob Sie nur data1 * data2 * data3 berechnen möchten für jede Zeile.

Wenn es letzteres ist:Sie sollten dies in MySQL tun. Fügen Sie der Spaltenliste in Ihrer Select-Anweisung eine zusätzliche Spalte hinzu:

SELECT
    id,
    ...,
    data1 * data2 * data3 AS product
FROM
    ...

Wenn es ersteres ist:Sie sollten dies in PHP und nicht in MySQL tun. Sie können dies tun, indem Sie ein mehrdimensionales Array einrichten.

Sie haben wahrscheinlich Code, der etwa so aussieht:

while ( $row = mysqli_fetch_assoc($query_result) ) {
    echo $row['id'].' '.$row['data1'].' '.$row['data2'].' '.$row['data3'];
}

Wir werden es wie folgt ändern:

$myarray = array();
while ( $row = mysqli_fetch_assoc($query_result) ) {
    $myarray[] = array($row['data1'], $row['data2'], ['data3']);
}

Wenn Sie nun Folgendes hinzufügen:

echo '<pre>';
var_dump($myarray);
echo '</pre>';
';

Sie werden sehen, dass wir ein zweidimensionales Array haben.

Wenn wir nun das Produkt der diagonalen Einträge in diesem Array finden wollen, können wir Folgendes verwenden:

$product = $myarray[0][0] * $myarray[1][1] * $myarray[2][2];