私はしばらくの間、いくつかの「単純な」アルゴリズムに苦労していて、インターネット全体で答えを探した後、あきらめました.....悲しい、私は知っています。初めは英文法などでお詫びしたいと思いました。
このクエリに基づく:
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状態にあり、クラッシュしました:)