Voor een pickup website ben ik atm aan het nadenken over een report systeem voor de missende users op de matchservers om deze en de bijbehorende tabel(len) zo efficiënt mogelijk op te zetten.
Match users tabel:
> MatchID, UserID, Class, TeamColor
> Tot 18 unique UserID's per MatchID
We willen bijhouden wie welke user gereport heeft per match:
Theoretische tabel die reports bijhoudt (voor de buitenstaander even logische kolomnamen):
> UserID, MatchID, ReportedUserID
> Zodra het knopje 'report for sub' is ingedrukt en het report succesvol was kan de user niet nogmaals een report voor deze user indienen (bij reporten zit er een check die zorgt dat de combinatie van deze drie waarden niet nogmaals voor kan komen in de tabel), knopje wordt weggehaald.
Mocht een ReportedUserID voor dezelfde MatchID 3 maal of meer voorkomen, dan wordt deze opgepikt door de 'subs check' (3 reports => substitute nodig op de server) (losse query op andere file)
Klikt iemand op het theoretische knopje 'Substitute' om de server te joinen, dan zou ik dat opslaan in een extra tabel:
> SubID (AI), MatchID, ReportedUserID, SubstituteUserID, (TimesReported?)
>> Eventueel zou bij een eerste report voor de tabel die reports bijhoudt in deze tabel die bijhoudt wie subbed een countertje verhoogd kunnen worden, zodat er geen count(UserID) voor de combo MatchID+ReportedUserID nodig is maar een TimesReported > x op deze tabel.
Wat ik wil voor de matchpage (geselecteerd op MatchID): het tonen van alle users uit de match tabel, maar in dezelfde query ook meteen (voor welke user er) door wie gesubbed is.
Het door wie er voor wie gesubbed is is met een extra sub select in de query voor alle users uit de matchtabel voor die specifieke match prima te doen, maar wil ik echter de users uit de subs table voor dezelfde map er bij loopen, dan werkt dat weer niet. Zou een select op de users tabel met de namen etc. (die nu gejoined wordt bij het loopen van de matchtabel) in plaats van op de matchtabel met als filter de MatchID in de subs en match het aantal resultaten terug te brengen naar het gewenste aantal?
Ik heb hier (te)veel over nagedacht, wil het nu eens opzetten en kijken of wat ik wil überhaupt mogelijk is. Mocht er voorbeelden nodig zijn met nep users en een fake report/sub dan zal ik kijken of ik wat uit kan typen.
+kudos voor wie van deze gedachtenkronkels iets snapt
Match users tabel:
> MatchID, UserID, Class, TeamColor
> Tot 18 unique UserID's per MatchID
We willen bijhouden wie welke user gereport heeft per match:
Theoretische tabel die reports bijhoudt (voor de buitenstaander even logische kolomnamen):
> UserID, MatchID, ReportedUserID
> Zodra het knopje 'report for sub' is ingedrukt en het report succesvol was kan de user niet nogmaals een report voor deze user indienen (bij reporten zit er een check die zorgt dat de combinatie van deze drie waarden niet nogmaals voor kan komen in de tabel), knopje wordt weggehaald.
Mocht een ReportedUserID voor dezelfde MatchID 3 maal of meer voorkomen, dan wordt deze opgepikt door de 'subs check' (3 reports => substitute nodig op de server) (losse query op andere file)
Klikt iemand op het theoretische knopje 'Substitute' om de server te joinen, dan zou ik dat opslaan in een extra tabel:
> SubID (AI), MatchID, ReportedUserID, SubstituteUserID, (TimesReported?)
>> Eventueel zou bij een eerste report voor de tabel die reports bijhoudt in deze tabel die bijhoudt wie subbed een countertje verhoogd kunnen worden, zodat er geen count(UserID) voor de combo MatchID+ReportedUserID nodig is maar een TimesReported > x op deze tabel.
Wat ik wil voor de matchpage (geselecteerd op MatchID): het tonen van alle users uit de match tabel, maar in dezelfde query ook meteen (voor welke user er) door wie gesubbed is.
Het door wie er voor wie gesubbed is is met een extra sub select in de query voor alle users uit de matchtabel voor die specifieke match prima te doen, maar wil ik echter de users uit de subs table voor dezelfde map er bij loopen, dan werkt dat weer niet. Zou een select op de users tabel met de namen etc. (die nu gejoined wordt bij het loopen van de matchtabel) in plaats van op de matchtabel met als filter de MatchID in de subs en match het aantal resultaten terug te brengen naar het gewenste aantal?
Ik heb hier (te)veel over nagedacht, wil het nu eens opzetten en kijken of wat ik wil überhaupt mogelijk is. Mocht er voorbeelden nodig zijn met nep users en een fake report/sub dan zal ik kijken of ik wat uit kan typen.
+kudos voor wie van deze gedachtenkronkels iets snapt