これに関してはすでに多くの質問がありますが、私の特定の問題に対処するものは見つかりませんでした。MySQLデータベースでチェックを実行していますが、複数の行に同じBILLING_IDがある場合は、まれな例外を除いて一意である必要があるため、出力したいと思います。
ただし、同じ請求IDで子サービスを設定するため、GAME_IDの値が異なる場合は重複を除外する必要があります。
以下の私のコードは、ロジックが失敗するまでほとんどの部分で機能します。同じ請求IDを持つエントリが2つ以上ある場合は、それらが同じGAME_IDを持っているかどうかを確認する必要があります。私はこれに困惑し、どのように進めるかがわかりません。
$res_services = mysql_query('SELECT SERVICE_ID, BILLING_ID, USER_ID, GAME_ID FROM tc_services', $tca_conn);
while ($row_services = mysql_fetch_array($res_services))
{
$service_id = $row_services["SERVICE_ID"];
$billing_id = $row_services["BILLING_ID"];
$user_id = $row_services["USER_ID"];
$game_id = $row_services["GAME_ID"];
// If the Billing ID field is blank, ignore
if ($billing_id == "")
{
continue;
}
$res_dupes = mysql_query("SELECT * FROM tc_services WHERE BILLING_ID='" . $billing_id . "'", $tca_conn);
$num_rows = mysql_num_rows($res_dupes);
if ($num_rows >= 2)
{
while ($row_dupes = mysql_fetch_array($res_dupes))
{
//check if GAME_ID is different
}
echo 'Duplicate Services found for User ID: ' . $user_id . 'Billing ID: ' . $billing_id . '</br>';
}
}