простое вычисление сумм mysql & amp; PHP. Как сделать?

Мне нужно сделать вычисления на моем сайте. У меня есть все параметры, но я не мог понять, как объединить их в один результат.

Пожалуйста, помогите мне решить это!

Я получаю данные из базы данных MySQL: (коротко)

   <?php
$res = mysql_query('SELECT SUM(status) FROM ' . 'success_rate', $con);
if ($row = mysql_fetch_array($res, MYSQL_NUM))
{
$rate = trim($row[0]);    ?>

<?php
$res = mysql_query('SELECT Count(*) FROM ' . 'user_registration', $con);
?>

Итак, я получаю 2 классических параметра

Мне нужно иметь только один номер в конце. Вот как должны работать вычисления:

((<?= $status ?> / <?= $2nd ?>)*100)-200   =  result

Буду признателен за вашу помощь.

0

Решение

Есть несколько проблем. Во-первых, mysql продление амортизируется. использование mysqli вместо. Когда вы делаете это, вы меняете mysql_fetch_array($res, MYSQL_NUM) в mysqli_fetch_array($res),

Далее нужно закрыть if Скобки У вас есть только открывающая скобка.

Этот второй фрагмент кода является синтаксической ошибкой. Сделай это: $result = (($status / $second)*100)-200

Кроме того, я не знаю, что еще вы хотите, потому что вы не дали достаточно деталей.

1

Другие решения

Вам нужно также получить второй запрос:

$rate = 0;
$count = 0;

$res = mysql_query('SELECT SUM(status) FROM success_rate', $con);
$row = mysql_fetch_array($res);
$rate = $row[0];

$res = mysql_query('SELECT Count(*) FROM user_registration', $con);
$row = mysql_fetch_array($res);
$count = $row[0];

if ($count != 0) {
echo (($status / $count) * 100) - 200;
} else {
echo 'Count was 0';
}
  • Не используйте функции mysql, потому что они устарели. Используйте вместо этого mysqli или PDO.

  • Используйте IDE для проверки ваших синтаксических ошибок в вашем коде.

0

Если вы хотите сократить код, возвращая результат одним запросом, вы можете сделать это следующим образом:

$res = mysql_query("SELECT (((SUM(status) / (SELECT Count(*) FROM user_registration)) * 100) - 200) as result FROM success_rate") or die (mysql_error());

Обратите внимание:
если второй параметр меньше первого, в конце вы получите отрицательное число, потому что в конце вычитаете 200.

Например: IF SUM (status) = 10 AND Count (*) = 100, ТОГДА ваш результат -190

((10/100)*100)-200 = -190
0