Я хотел бы иметь возможность размножать все цены, например, из моей базы данных, а затем умножить общее количество на 10.
В приведенном ниже коде добавляется не умножение
<?php $d = $_GET['d']; $con = mysql_connect("localhost","username","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("databasename", $con);// $sql= "SELECT SUM(prices) FROM tablename WHERE Date = '$d' AND Prices >0.20 AND Type= 'sold'"; $results = mysql_query($sql); $row = mysql_fetch_array($results); echo $row[0]*10; mysql_close($con); ?>
пример
id prices 1 25 2 36 3 45
То есть я хочу 25 * 36 * 45 * 10, а не 25 + 36 + 45 * 10
Надеюсь, кто-нибудь может помочь
Это будет работать с ограничениями (цифры должны быть только положительными):
SELECT 10 * EXP(SUM(LOG(prices))) AS result FROM tablename WHERE ...
Thnx должен пойти в Napier
и его замечательное изобретение, logarithms
Как это не делает умножение? Вы получаете 0
? Вы получили сообщение об ошибке?
Вы можете сделать это в базе данных, как есть, помните, что
10 x (a + b + c + ...)
точно такая же, как
10a + 10b + 10c + ...
Таким образом, вы могли бы просто сделать
SELECT 10*SUM(prices) from ...
или
SELECT SUM(10*prices) from ...
Однако я заметил, что у вас нет обработки ошибок. Если ваш запрос не выполняется, mysql_query () вернет логическое значение false, из которого вы затем попытаетесь извлечь строку, которая также вернет логическое значение false.
что boolean false будет в $ row, и вы будете использовать его как массив, а это означает, что $ row [0] будет php NULL. NULL * 10
будет целым числом 0.
Измените запрос на запрос следующим образом:
$results = mysql_query($sql) or die(mysql_error());
и посмотреть, что всплывает.