0

データベースから要約を作成するのが好きです。

表:writenquotes

id|  datum   |member|transaktion |pm|beträge
1 |1372456800|Name1 |transaktion1|0 |  24
2 |1372543200|Name2 |transaktion1|1 |  24

私のコードで:

<?php
include("dbopen.php");
$result = mysql_query("SELECT SUM(beträge)
FROM writenquotes");
while($row=mysql_fetch_array($result))
{
echo $row['SUM(beträge)'];
}
?>

私の問題は、PM が正または負の数字を 0 または 1 で宣言することです。

0 = 正の数値

1 = 負の数値

私のコードでは、48 などの肯定的な要約しか作成できません...

id 1 = 24 (正)

id 2 = -24 (マイナス)

要約すると、48 ではなく実際の 0 になります。

何が私の間違いなのかわかりませんが、私のコードでは 0 (ゼロ) またはリソース ID #3 しか返されません ... umpf :-(

<?php
include("dbopen.php");

$result = mysql_query("SELECT SUM(IF(pm=1, -1, 1) * beträge) FROM  writenquotes", $link);
echo mysql_errno($link) . " " . mysql_error($link). "\n";
while($row=mysql_fetch_array($result))
{
echo "<font color=\"red\">".$row['SUM(beträge)']."</font>";
}
?>

この

<?php
include("dbopen.php");
$result = mysql_query("SELECT SUM(CASE pm=0 THEN beträge ELSE -beträge END) FROM writenquotes", $link);
echo mysql_errno($link) . " " . mysql_error($link). "\n";
echo $result['SUM(beträge)'];
?>

私にこれだけを与えます:

1064 SQL 構文にエラーがあります。1 行目の 'THEN beträge ELSE -beträge END) FROM writenquotes' の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

2 に答える 2