PHP добавление двух массивов - PullRequest
0 голосов
/ 03 мая 2018

В настоящее время я пытаюсь создать индикатор выполнения, который показывает, сколько пользователь потратил по сравнению с его максимальным разрешением. Я вычислил сумму затрат пользователя, как указано в сумме $ sumOfCosts, однако я пытаюсь вычесть сумму затрат в $ из максимальной надбавки пользователя, однако приведенный ниже код не работает. У кого-нибудь есть совет?

appQueries.php

<?php

class appQueries {
    protected $db = null;
    public function __construct($db){
          $this->db = $db;
    }

    public function costsSum($user_id){
        $query = "SELECT SUM(value) AS costSum FROM costs";
        $pdo = $this->db->prepare($query);
        $pdo->bindParam(':user_id', $user_id);
        $pdo->execute();
        return $pdo->fetch(PDO::FETCH_ASSOC);
    }

    public function getMaxAmount($userid){
        $query = "SELECT maxAmount FROM users WHERE user_id = :userid";
        $pdo = $this->db->prepare($query);
        $pdo->bindParam(':userid', $userid);
        $pdo->execute();
        return $pdo->fetch(PDO::FETCH_ASSOC);
    }
}

homepage.php

$appQueriesObject = new appQueries($DBH); 
$maximumCost = $appQueriesObject->getMaxAmount($_SESSION['userData']['user_id']);
$sumOfCosts = $appQueriesObject->costsSum($_SESSION['userData']['user_id']);
$amountRemaining = array($maximumCost + $sumOfCosts);

echo $maximumCost['user_max_amount'];
echo array_sum($sumOfCosts);
echo $amountRemaining;

1 Ответ

0 голосов
/ 03 мая 2018

Вы неправильно ссылаетесь на переменные $ MaximumCost или $ sumOfCosts. Это должны быть значения $ MaximumCost ['maxAmount'] и $ sumOfCosts ['costSum'] соответственно.

echo $maximumCost['maxAmount'] - $sumOfCosts['costSum'];

При запросе суммы затрат также отсутствует параметр userId. Попробуйте:

$query = "SELECT SUM(value) AS costSum FROM costs WHERE user_id = :user_id";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...