テーブルに入力された1つの数値に従って数値を加算したり減算したりします。UPDATE leftjoin SET +/- problem
は、ここに私のコードです:
$uratio = "
UPDATE teams
LEFT JOIN games g1 ON (teams.ID = g1.op1ID)
SET ratio = ratio
+ IF(g1.op1gamescore = 1 , g1.op1score, g1.op1score)
, ratio = ratio
- IF(g1.op1gamescore = 0, g1.op1score, g1.op1score)
WHERE g1.ID = '$_POST[id]' ;
";
mysql_query($uratio) or die (mysql_error());
$uratiob = "
UPDATE teams
LEFT JOIN games g2 ON (teams.ID = g2.op2ID)
SET ratio = ratio
+ IF(g2.op2gamescore = 1, g2.op2score, g2.op2score)
, ratio = ratio
- IF(g2.op2gamescore = 0, g2.op2score, g2.op2score)
WHERE g2.ID = '$_POST[id]' ;
";
mysql_query($uratiob) or die (mysql_error());
op2gamescore = 1、それは(負の符号)OP2と(マイナス記号)とOP2とOP1を置くが細かいですが、ないOP1
。op1gamescore = 1の場合も同じです。
op1またはop2 = 0のときは、正しい計算を行います。しかし、それが当てはまるときではありません。
正しい計算はしますが、op1は常に負の符号で終わります。それはなぜですか?そのように実行する場合 - IFではなく+ IF ...任意のアイデア?
あなたは理解していません。これは3つのパラメータを持ちます。最初は条件、2番目は条件が真であれば返る値、3番目は条件が偽であれば返す値です。条件が真か偽かにかかわらず同じ値を返すので、基本的にはスコアを加算し、条件に関係なく減算します。 –
ok thnx、もう一度チェックしてください – GaboPlat
本当にありがとうございます。それは今働いています。 – GaboPlat