Beste forumleden,

Zelf probeer ik hetvolgende, ik heb deze mysqli query gemaakt:

$settingquery = mysqli_query($connect_mysql, "SELECT * FROM `usersettings` WHERE `user_id` = '".$user['id']."'");
$setting = mysqli_fetch_assoc($settingquery);

Nu wil ik eigenlijk niet steeds opnieuw dezelfde query maken om elke keer een andere info op te vragen.
Ik wil bijvoorbeeld in dat tabel de informatie van bijvoorbeeld setting_id de POB tonen, hoe kan ik dit het beste doen zonder de volgende query:

$settingquery = mysqli_query($connect_mysql, "SELECT * FROM `usersettings` WHERE `user_id` = '".$user['id']."' AND `setting_id` = 'POB'");
$setting = mysqli_fetch_assoc($settingquery);

Alvast bedankt voor de hulp
@Frank: Scherp!

Ik zie het, je hebt meerdere velden.
En dan vraag ik mij af waarom je genummerde velden hebt?
Wat als je straks 7 velden hebt? Ga je dan je hele structuur aanpassen?

Mijn advies: Werk in de lengte, en niet in de breedtte. Dus maak gewoon extra rijen per setting en value aan.
Dan hoef je ook niet zo lastig te doen en kan je onbeperkt uitbreiden.
@Frank dat is om meer informatie te vergaren zoals extra instellingen, dus per setting kan ik extra info toevoegen zoals bijvoorbeeld een taal.
Waarom dan in aparte genummerde velden? Een setting is toch een setting, en dus een aparte row.
Dit oogt zeker niet genormaliseerd.
Ik zou configuratie simpel houden, dus gewone key-value paren.

Als je hier toch een bepaalde hierarchie in wil maken dan zou je dat misschien nog in de naamgeving kunnen doen, bijvoorbeeld birth.place, birth.date et cetera. Maar dit zijn dan meer profielgegevens dan "instellingen" (settings) van een gebruiker, en die stop je dan in aparte kolommen van een profieltabel ofzo, in plaats van in een apart record.

Reageren