im не уверен, что это вопрос с php или mysql maths.
У меня есть таблица с данными, и хотя я могу эхо отдельных данных на экран или эхо и отдельные фрагменты данных с помощью php. Я не знаю, как выполнять математику по самим данным.
Для простоты, скажем, моя таблица имеет 4 столбца, столбец идентификатора и три с моими данными, которые я хочу размножить в них, data1, data2 и data 3,
и выложено что-то вроде этого
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
что я хочу, чтобы иметь возможность делать математику, как показано ниже: data1 (row1) x data (row2) x data3 (row) или data1 (column2) x data (столбец 3) x data3 (столбец3).
Im способен использовать цикл while для циклического преобразования данных, но я могу только эхо каждой строки с различными именами полей и его значениями на экране. Я не знаю, как умножать поля в разных строках вместе. На самом деле, мне также хотелось бы иметь возможность теперь только несколько строк вместе, но также добавлять их, делить их и т. Д.
Конечная таблица данных, вероятно, должна будет сделать это, вероятно, будет включать много столбцов и иметь несколько строк. Тем не менее, я в основном зациклился на том, как получить все данные, по одному от каждого столбца и заставить его делать математику по нему по одному, ставя его в цикл? есть идеи
ура
Итак, вы говорите, что у вас есть
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:
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];