私はしばらくの間、いくつかの「単純な」アルゴリズムに苦労していて、インターネット全体で答えを探した後、あきらめました.....悲しい、私は知っています。初めは英文法などでお詫びしたいと思いました。
このクエリに基づく:
SELECT a。*、b。*
meczeから
JOINベットb
ON a.mecz_id = b.mecz_id AND a.wynik!='NULL'
以下のような値を持つ配列「punkty」があります。
[0]=>配列
((
[mecz_id] => 1 // match_id
[druzyna_1_id] => 1 // team_1_id
[druzyna_2_id] => 2 // team_2_id
[wynik] => 1:2//スコア-試合の
[wynik_buk] =>2//ブックメーカースコア-試合の
[bet_id] =>1//ユーザーはidを賭けます
[user_id] =>1//ユーザーID:)
[bet_wynik] => 3:2//ユーザーはスコアを賭けます
[bet_wynik_buk] =>1//ユーザーのブックメーカーの賭けスコア
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[punkty] =>0//ポイント-計算時にここに追加されます
)。
[1]=>配列
((
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[wynik] => 3:2
[wynik_buk] => 1
[bet_id] => 2
[user_id] => 1
[bet_wynik] => 3:2
[bet_wynik_buk] => 1
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[2]=>配列
((
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[wynik] => 1:1
[wynik_buk] => 0
[bet_id] => 3
[user_id] => 1
[bet_wynik] => 1:1
[bet_wynik_buk] => 0
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[3]=>配列
((
[mecz_id] => 1
[druzyna_1_id] => 1
[druzyna_2_id] => 2
[wynik] => 1:2
[wynik_buk] => 2
[bet_id] => 6
[user_id] => 4
[bet_wynik] => 3:1
[bet_wynik_buk] => 1
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[4]=>配列
((
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[wynik] => 3:2
[wynik_buk] => 1
[bet_id] => 7
[user_id] => 4
[bet_wynik] => 2:3
[bet_wynik_buk] => 2
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[5]=>配列
((
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[wynik] => 1:1
[wynik_buk] => 0
[bet_id] => 8
[user_id] => 4
[bet_wynik] => 0:0
[bet_wynik_buk] => 0
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[6]=>配列
((
[mecz_id] => 1
[druzyna_1_id] => 1
[druzyna_2_id] => 2
[wynik] => 1:2
[wynik_buk] => 2
[bet_id] => 9
[user_id] => 5
[bet_wynik] => 1:2
[bet_wynik_buk] => 2
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[7]=>配列
((
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[wynik] => 3:2
[wynik_buk] => 1
[bet_id] => 10
[user_id] => 5
[bet_wynik] => 3:3
[bet_wynik_buk] => 0
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
[8]=>配列
((
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[wynik] => 1:1
[wynik_buk] => 0
[bet_id] => 11
[user_id] => 5
[bet_wynik] => 1:1
[bet_wynik_buk] => 0
[krol] =>マリオ・ゴメス(GER)
[laczny] => 5pkt�Hiszpania(2 pkt)
[パンク]=>0
)。
上記の配列に基づいて、良いスコアと正確な結果を得るためにポイントを割り当て
ています。プレーヤーが正しいスコア(つまり1またはXまたは2)を持っている場合は1
ポイント、プレーヤーが正しい正確なスコア(つまり1:1または3:1など)
foreach($ punkty as $ k => $ v){
$ wbuk = $ v ['wynik_buk']; //ブックメーカーのスコアに一致
$ bwbuk = $ v ['bet_wynik_buk']; //ユーザーのブックメーカーの賭けスコア
$ w = $ v ['wynik']; //スコアを一致させる
$ bw = $ v ['bet_wynik']; //ユーザーはスコアを賭けます
if($ wbuk == $ bwbuk){
if($ w == $ bw){
$ pkt = 4;
}そうしないと{
$ pkt = 1;
}
} そうしないと {
$ pkt = 0;
}
}
上記のコードはポイントを正しく割り当てていますが、別のものを追加したいと思います。
1人のユーザーだけがこのスコア/結果を持っている場合、正しいスコアまたは正しい正確な結果を達成するためのボーナスポイントを追加したい:ユーザーが正しいスコア(つまり1またはXまたは2)を持つ唯一
のユーザーである場合は2ポイント
ユーザーが正確な結果が得られる唯一のもの(つまり、3:1または1:1など)
助けてください !!!私はそれを行うには何千もの方法があるはずだと知っていますが、私の心はStackOverflow状態にあり、クラッシュしました:)