hulp gevraagd bij een opdracht
Ik ben Jessy van Lieshout, ik ben 18 jaar oud en ik heb jullie hulp nodig bij een opdracht die ik gekregen heb.
Ik moet een knock-out gaan maken voor een tennisvereniging.
In de applicatie moet een functie komen die de winnaars van elke ronde automatisch doorzet naar de volgende ronde. Hierbij wordt willekeurig een tegenstander gekozen, dit voorkomt vriendjespolitiek. Dit moet zichtbaar worden in een knock-out systeem. De winnaar krijgt dan een kleur. De uitslagen van de wedstrijd worden handmatig door middel van een formulier in de database gezet. De spelers van de 1e ronde worden automatisch bepaald van de aanmeldingen. Dit moet aan de macht van 2 spelers zijn. Als in de eerste ronde geen macht van 2 is worden er in de 1e ronde minder spelers geplaatst waardoor het aantal spelers in de volgende ronde wel aan de macht van 2 is.
Dit betekent dat sommige spelers direct door gaan naar ronde 2.
Sommige aanmelders leveren zelf de aanmeldingen, deze xml files moeten geimporteerd worden door iemand die geen verstand heeft van programmeren.
Wie kan mij helpen bij deze uitdaging? Ik heb de hele dag gepuzzeld maar kom er niet uit.
Alvast bedankt,
Maddy
Wat heb je inmiddels al geprobeerd?
Ik heb een database gemaakt, maar weet niet hoe ik verder moet.
Een mooi begin is 'database normalisatie. Hiermee kan je een mooie schaalbare opzet maken.
Gewijzigd op 10/01/2020 19:11:44 door - Ariën -
Wij hebben deze materie nooit behandeld en weet dus ook niet wat je moet doen. Maandag heb ik hier een examen over. Ik heb mijn leraren hierover al gemaild, maar wil wel goed voorbereid zijn. Ik vraag jullie hulp hierbij er zijn hier vast wel experts die mij kunnen helpen.
Bedenk eerst even welke tabellen je nodig hebt.
De database is al klaar en de normalisatie daarvan ook.
Als je concrete vragen stelt, kunnen wij ook concreet antwoorden.
De programmering ervan.
Hoe concreter, hoe beter!
Het spreekt voor zich dat wij niet alles gaan scripten. ;-)
Gewijzigd op 10/01/2020 19:26:32 door - Ariën -
De punten zijn:
- wanneer een speler 2 punten gescoord heeft of het laatste punt maakte tijdens een gelijkspel wint deze de wedstrijd,
- de winnaar wordt automatisch doorgezet naar de volgende ronden,
- de winnaar krijgt een kleur,
- de tegenstanders wordt willekeurig gekozen,
- alles moet aan de macht van 2 zijn.
En hoe ziet je databasestructuur eruit?
t_id (PK)
t_omschrijving
t_datum
Aanmeldingen
a_id (FK)
s_id (FK)
t_id (FK)
Speler
s_id (PK)
s_naam
s_tussenvoegsel
s_achternaam
sch_id (FK)
School
sch_id (PK)
sch_naam
Wedstrijden
w_id (PK)
t_id (FK)
w_ronde
s_speler1id (FK)
s_speler2id (FK)
w_score1
w_score2
s_winnaarid (FK)
de dik gedrukte woorden zijn de namen van de tabellen. speler1id, speler2id en s_winnaar staan alle drie in relatie met het speler id.
Gewijzigd op 10/01/2020 19:39:39 door Jessy Lieshout
Ik denk dat het verstandig is om eerst de tegenstanders willekeurig te kiezen, zodat deze s_speler1id en s_speler2id in de eerste ronde bepaald worden. Dit kan met de RAND() functie van MySQL. Bij het kiezen van de tweede speler sluit je met WHERE !== deze speler uit.
Zou jij mij kunnen helpen met de volledige code? Kom er niet uit.
Heb je al een query met de RAND() functie om en willekeurig persoon te trekken?
Nee nog niet. Daar kom ik eigenlijk al niet mee uit. Is die query ook te gebruiken met gegevens uit de database?
Zie ook: https://www.w3schools.com/sql/func_mysql_rand.asp
Gewijzigd op 10/01/2020 21:30:23 door - Ariën -
En hoe maak je daar dan een query mee, als ik vragen mag?
^ Zie mijn edit ^
Dan moeten er wel al spelers in de database aanwezig zijn. Hoe komen die spelers dan in de database?