Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Erfolge/Abzeichen-System

Ich denke, die von Ihnen vorgeschlagene Struktur (ohne das Feld "zugewiesen" gemäß den Kommentaren) würde funktionieren, wenn eine zusätzliche Tabelle hinzugefügt wird, z. B. "Submissions_User", die einen Verweis auf user_id und ein inkrementierendes Feld zum Zählen von Einreichungen enthält. Dann brauchen Sie nur noch einen "Event Listener" gemäß dieser Beitrag und denke, du wärst bereit.

BEARBEITEN:Führen Sie für die Leistungsabzeichen den Ereignis-Listener bei jeder Übermittlung aus (natürlich nur für den Benutzer, der die Übermittlung vornimmt) und vergeben Sie alle relevanten Abzeichen vor Ort. Für die zeitbasierten Badges würde ich jede Nacht einen CRON-Job ausführen. Gehen Sie die vollständige Benutzerliste einmal durch und vergeben Sie ggf. Badges.