У меня есть переменная в PHP, куда вставляются значения из базы данных. Речь идет о деньгах. Мне нужно суммировать все отрицательные и положительные значения отдельно.
Пример:
February, I have:
+ 10
− 10
+100
− 50
− 15
+ 70
+ 80
—
Credits added: 260 Euro
Credits paid: −75 Euro
Переменная называется $amound
в моем файле PHP. Я действительно понятия не имею, как это сделать.
В Excel это будет выглядеть следующим образом: =SUMMEWENN(E1:E48;"<0")
Но здесь у меня есть только переменная, не поля.
Вот какой-то код:
$reportdata["tableheadings"] = array("Transaktions-ID","Kunde","Datum","Beschreibung","Betrag");
if ($startdate && $enddate) {
$query = "SELECT tblcredit.*,tblclients.firstname,tblclients.lastname FROM tblcredit INNER JOIN tblclients ON tblclients.id=tblcredit.clientid WHERE tblcredit.date BETWEEN '".db_make_safe_human_date($startdate)."' AND '".db_make_safe_human_date($enddate)."'";
$result = full_query($query);
while ($data = mysql_fetch_array($result)) {
$id = $data["id"];
$userid = $data["clientid"];
$clientname = $data["firstname"]." ".$data["lastname"];
$date = fromMySQLDate($data["date"]);
$description = $data["description"];
$amount = $data["amount"];
$currency = getCurrency($userid);
$amount = formatCurrency($amount);
$overallamount += $amount;
// $overallamountout -= $amount;
// $overallamountin += $overallamount > 0;
$reportdata["tablevalues"][] = array($id,'<a href="clientssummary.php?userid='.$userid.'">'.$clientname.'</a>',$date,nl2br($description),$amount);
}
Действительно, это очень просто (я предполагаю, что все ваши переменные являются строками, например, поступающими из текстового файла, но даже если это не сработает):
$var1 = '+80';
$var2 = '-30';
$result = (int)$var1 + (int)$var2;
var_dump($result);
В результате: «int (50)» => Работает нормально.
Вы можете сделать это в БД
SELECT SUM(numbers) AS sum1 FROM pepa WHERE numbers > 0;
SELECT SUM(numbers) AS sum2 FROM pepa WHERE numbers < 0;
Хорошо,
это сделано.
Вот код, который был использован:
$summeGesamt = 0;
$summeEingezahlt = 0;
$summeAusgezahlt = 0;
$summeGesamt = $summeGesamt + $data["amount"];
if ( $data["amount"] >= 0) {
$summeEingezahlt += $data["amount"];
} else {
$summeAusgezahlt += $data["amount"];
}