データベースから要約を作成するのが好きです。
表: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 サーバーのバージョンに対応するマニュアルを確認してください。