2016-04-12 17 views
0

Bir veritabanından değerlerin eklendiği PHP'de bir değişkenim var. Bu para ile ilgili. Bütün olumsuz ve pozitif değerleri ayrı ayrı özetlemem gerekiyor.PHP'de bir değişkene ait negatif ve pozitif değerleri süzme

Örnek:

February, I have: 
+ 10 
− 10 
+100 
− 50 
− 15 
+ 70 
+ 80 
— 
Credits added: 260 Euro 
Credits paid: −75 Euro 

değişken benim PHP dosyasında $amound adlandırılmıştır. Bunun nasıl yapılacağı konusunda hiçbir fikrim yok.

şöyle Excel'de, bu olacaktır: =SUMMEWENN(E1:E48;"<0")

Ama burada sadece değişken, alanlar değil var.

İşte biraz Kodu:

$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); 
} 
+1

bir dize veya bir dizi yerdedir mı? –

+0

Bize göster * bazı * bunu kodlama girişimi, lütfen? –

+0

Değişkenlerinizi istediğiniz gibi adlandırabilirsiniz, ancak bunun * miktar * olduğunu ve * amound * olmadığını unutmayın. – dakab

cevap

0

Tamam onun tamam

yapabilirsiniz. kullanıldı İşte Kodu:

$summeGesamt = 0; 
$summeEingezahlt = 0; 
$summeAusgezahlt = 0; 

$summeGesamt = $summeGesamt + $data["amount"]; 
if ($data["amount"] >= 0) { 
    $summeEingezahlt += $data["amount"]; 
} else { 
    $summeAusgezahlt += $data["amount"]; 
} 
0

Aslında bu çok basit (Ben senin değişkenlerin tümünü bir metin dosyası gelen örn dizeleri, olduğunu kabul, ama olmasa bile işe yarayacak):

$var1 = '+80'; 
$var2 = '-30'; 

$result = (int)$var1 + (int)$var2; 

var_dump($result); 

Sonuç olarak: "int (50)" => İyi çalışıyor.

+0

anlamına gelen tutarı ben sadece $ tutarı olduğunu düşünüyorum, lütfen benim Mesaj –

0

Bunu, DB

SELECT SUM(numbers) AS sum1 FROM pepa WHERE numbers > 0; 
SELECT SUM(numbers) AS sum2 FROM pepa WHERE numbers < 0; 
+0

mertebesine bakın, bunu nasıl kullanacağımı bilmiyorum. Mevcut durumu göstermek için bazı Kodlar yayınladım –

İlgili konular