Nu ik rustig aan PHP aan het leren ben kom ik verschillende uitdagingen tegen die ik vrijwel altijd weet op te lossen door alle tutorials en reeds gestelde vragen. Nu kom ik iets tegen waar ik niet zo snel een oplossing voor weet. Dit komt uiteraard door mijn gebrek aan kennis omtrent de mogelijkheden, maar daar krijg ik hier vast antwoord op. Ik zal proberen zo duidelijk mogelijk uit te leggen:
Goed, stel je hebt een inlog systeem waarbij je in de database de volgende gegevens in een tabel opslaat: id, gebruikersnaam en e-mail. Vervolgens wil je de gebruikers een mogelijkheid geven om een profiel te creëren met bepaalde vaste waardes zoals: leeftijd, land van herkomst, hobby's etc. En daarnaast een vrij vlak waarbij iets kort kunnen neerzetten.
Mijn gedachten waren om een nieuwe tabel aan te maken waarin die waardes kunnen worden opgeslagen. Alleen hoe zorg je ervoor dat de juiste persoon ook de juiste waardes kan aanpassen. Omdat er in die nieuwe tabel geen id zit. Of is het verstandig om geen profiel tabel aan te maken, en gewoon nieuwe kolommen te creëren in de bestaande tabel? Lijkt mij op te duur wat onoverzichtelijk worden.
Ik zou hobby's zeker in een afzonderlijke tabel stellen. via een 1 op veel relatie. Iemand kan toch ook geen of net veel hobby's hebben.
De gegevens welke altijd aanwezig zijn moeten inderdaad in de hoofdtabel. Echter leeftijd is voor mij geen goed veld. Geboortedatum is veel beter anders moet je dagelijks/wekelijks de gegevens aanpassen elke keer als er iemand verjaard.
Ik zou hobby's zeker in een afzonderlijke tabel stellen. via een 1 op veel relatie. Iemand kan toch ook geen of net veel hobby's hebben.
De gegevens welke altijd aanwezig zijn moeten inderdaad in de hoofdtabel. Echter leeftijd is voor mij geen goed veld. Geboortedatum is veel beter anders moet je dagelijks/wekelijks de gegevens aanpassen elke keer als er iemand verjaard.
Jan
Dat ligt er een beetje aan. Je kunt ook genoegen nemen met een textarea en kolomtype longtext. Dat biedt genoeg mogelijkheden om je hobby's te kunnen omschrijven. Wil de TS later nog nog gebruikers op hobby's kunnen filteren dan is het onvoldoende en zou er beter een aparte tabel voor aangemaakt kunnen worden zoals Jan beschrijft. In dat geval is het dan ook beter om een keuzelijst met hobby's aan de gebruiker voor te schotelen zodat er in de database telkens exact dezelfde waardes komen te staan voor mensen die dezelfde hobby hebben. Pas dan ben je later goed in staat om records te filteren
Vervolgens wil je de gebruikers een mogelijkheid geven om een profiel te creëren met bepaalde vaste waardes zoals: leeftijd, land van herkomst, hobby's
Je hebt het over 'vaste waardes'.
Hobby's kunnen wijzigen en leeftijd wijzigt sowieso elk jaar ;-)
Maar hoe zorg je er dan voor hoe je die twee tabellen met elkaar kunt koppelen?
En is dan het beste om die waardes te creëren bij registratie? Of pas als die gene zijn of haar profiel gaat invullen?