Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mathématiques PHP sur les données SQL

Donc vous dites que vous avez

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

et vous voulez calculer le produit des entrées de la diagonale principale (sans tenir compte de l'id colonne) ?

Il n'est pas clair d'après votre question si c'est ce que vous voulez faire, ou si vous voulez simplement calculer data1 * data2 * data3 pour chaque ligne.

Si c'est ce dernier :vous devriez le faire dans MySQL. Ajoutez une colonne supplémentaire à la liste des colonnes dans votre instruction select :

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

Si c'est le premier :vous devriez le faire en PHP plutôt qu'en MySQL. Vous pouvez le faire en configurant un tableau multidimensionnel.

Vous avez probablement un code qui ressemble à ceci :

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

Nous allons le remplacer par ce qui suit :

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

Maintenant, si vous ajoutez ce qui suit :

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

vous verrez que nous avons un tableau à deux dimensions.

Maintenant, si nous voulons trouver le produit des entrées diagonales dans ce tableau, nous pouvons utiliser ceci :

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