Mysql
 sql >> Database >  >> RDS >> Mysql

Matematica PHP su dati SQL

Quindi stai dicendo che hai

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

e vuoi calcolare il prodotto delle voci della diagonale principale (ignorando il id colonna)?

Non è chiaro dalla tua domanda se questo è ciò che vuoi fare o se vuoi semplicemente calcolare data1 * data2 * data3 per ogni riga.

Se è il secondo:dovresti farlo in MySQL. Aggiungi una colonna in più all'elenco delle colonne nell'estratto conto selezionato:

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

Se è il primo:dovresti farlo in PHP anziché in MySQL. Puoi farlo impostando un array multidimensionale.

Probabilmente hai un codice simile a questo:

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

Lo cambieremo nel seguente:

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

Ora se aggiungi quanto segue:

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

vedrai che abbiamo un array bidimensionale.

Ora, se vogliamo trovare il prodotto delle voci diagonali in quell'array, possiamo usare questo:

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