Opstelling veranderen
Ik ben nu bezig met een pagina om je opstelling te veranderen maar het lukt me echt niet.
Mijn database van teams ziet er als volgt uit:
id|serverid|trainer|country|team|position|players|opstelling|formatie
Ik sla de spelers die in een team zitten zo op:
id_van_player1-id_van_player2-id_van_player3-id_van_player4 etc.
Zo kan ik met explode() het makkelijk uit elkaar halen.
Dit doe ik het zelfde met de posities van de spelers:
positie_van_player1-positie_van_player2-positie_van_player3
Dit zijn de posities:
W = wissel
K = keeper
V1, V2, V3, V4, V5 = verdedigers
M1, M2, M3, M4, M5 = middenvelders
A1, A2, A3 = aanvallers
Weet iemand hoe ik het makkelijkst zo'n pagina kan maken waar je al de posities van spelers kan veranderen?
jorian schreef op 13.03.2008 16:34:
En dan nu de vraag waarom je in de problemen zit...Ik sla de spelers die in een team zitten zo op:
id_van_player1-id_van_player2-id_van_player3-id_van_player4 etc.
Zo kan ik met explode() het makkelijk uit elkaar halen.
id_van_player1-id_van_player2-id_van_player3-id_van_player4 etc.
Zo kan ik met explode() het makkelijk uit elkaar halen.
Meerdere gegevens sla je op in meerdere records. Jij gooit de boel op een grote hoop en kunt nu in deze hooiberg jouw speld niet meer vinden.
Tip van de dag: Ga normaliseren, jouw huidige datamodel is gewoon fout.
Ik heb niet echt problemen met de database-tabel..
jorian schreef op 13.03.2008 16:40:
Je zit duidelijk nog in de ontkenningsfase...Ik heb niet echt problemen met de database-tabel..
Geloof me nu maar, je zit flink in de problemen. Gooi je huidige database weg, ga normaliseren en ga een nieuwe database aanmaken. De huidige opzet lijkt nergens op.
Hoe zou jij het anders doen?
jorian schreef op 13.03.2008 16:42:
Ik zou gaan normaliseren. Dan blijkt vanzelf wel hoe de database eruit komt te zien. Meerdere gegevens van hetzelfde soort in 1 record opslaan is per definitie fout, daarmee kom je in de problemen.Hoe zou jij het anders doen?
Jacco schreef op 13.03.2008 16:46:
En in SQL:
Jacco schreef op 13.03.2008 16:46:
Welk probleem? Er zijn geen problemen, ik vraag gewoon hoe jullie zo'n pagina zouden maken..
Pak de tutorial die Frank je gaf erbij en ga je database opnieuw inrichten...
Wellicht wil iemand je wel verder in de problemen helpen, ik werk daar in elk geval niet aan mee.
Succes!
Ik snap niet echt wat dat normaliseren is, sorry.
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
Sla in je speler tabel het team_id op en de positie. Wanneer je de spelers op wilt halen, hoef je ze alles maar te scheiden door een WHERE team_id = id te doen.
Maar dan per wedstrijd...
Het gaat hier om een opstelling :P
Allemaal heel erg bedankt voor de hulp, ik ben druk bezig met het normaliseren van de database. Ik ben al heel ver.
Quote:
Die per wedstrijd en zelfs binnen een wedstrijd kan verschillen! Spelers zijn natuurlijk niet gebonden aan 1 positie en kunnen ook op andere posities opgesteld worden.Het gaat hier om een opstelling ...
Als je dat echt zo nauwkeurig wilt meenemen krijg je dus een aparte tabel met opstellingen en een koppeltabel waarin je spelers per postitie aan een opstelling koppelt. En dat zou je dan eventueel ook nog kunnen koppelen aan een tijdstip binnen een wedstrijd, zodat je ook opstellingswijzigingen kunt bijhouden.
Ik voel alweer een aantal extra tabellen aankomen :-)
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
En om Blanche meer weer eens aan te halen:
Ik voel alweer een aantal extra tabellen aankomen :-)
Edit: Hoe zit het trouwens met de posities gedurende de wedstrijd? Die kunnen ook zomaar veranderen, een veldspeler kan bv. de positie van keeper krijgen: geen wissels meer en de keeper moet het veld verlaten...
Gewijzigd op 01/01/1970 01:00:00 door Frank -
table Users: id|name|pass|active|status|actcode|email|serverID|country|teamID|
table Servers: id|name|country
table Teams: id|name|country|serverID|trainer|position|formationID
table Players: id|name|country|teamID|positionID|basisposition
table Positions: id|name
table Formations: id|formation
Kunnen jullie dan nu misschien mijn vraag beantwoorden?