De situatie:
Ik heb een enorme lijst met persoonsgegevens, deze personen kunnen verschillende rollen hebben: cursist, medewerker, docent, donateur of bestuurslid.
Iedere persoon kan 1 of meerder van deze rollen hebben en deze staan dan opgeslagen in een extra veldje in de tabel: kan er bijv zo uitzien "mdb". Deze persoon is dan medewerker, docent en bestuurslid.
Als ik dus een overzicht van een bepaalde groep mensen (bestuursleden) wil hebben kan ik dus zeggen:
Nou wil ik echter de rollen opslaan als een string van 1 en 0, de rollen "mdb" zouden dan als volgt in het veld staan:
Dit kan ik dan (in php) als volgt controleren:
Nou wil ik weten of er voor MySQL een query op te bouwen is waarbij ik de substr() van PHP direct kan toepassen in het DBveld met rollen.
Ik als enige tot nu toe de methode gevonden waarbij ik dus niet 1 en 0 gebruik maar gewoon de letters.
Ik heb een enorme lijst met persoonsgegevens, deze personen kunnen verschillende rollen hebben: cursist, medewerker, docent, donateur of bestuurslid.
Iedere persoon kan 1 of meerder van deze rollen hebben en deze staan dan opgeslagen in een extra veldje in de tabel: kan er bijv zo uitzien "mdb". Deze persoon is dan medewerker, docent en bestuurslid.
Als ik dus een overzicht van een bepaalde groep mensen (bestuursleden) wil hebben kan ik dus zeggen:
code:
1
| SELECT mensjes WHERE rol LIKE '%b%' |
Nou wil ik echter de rollen opslaan als een string van 1 en 0, de rollen "mdb" zouden dan als volgt in het veld staan:
code:
1
2
| cmdtb 01101 |
Dit kan ik dan (in php) als volgt controleren:
code:
SubStr kijkt dus naar het 5e teken in de string en checked of deze een 1 is. Het nadeel van deze methode is dus dat ik eerst ALLE personen moet ophalen om daarna middels PHP te controleren of ze bestuurslid zijn.1
2
3
| If (substr($rol,4,1) == "1") { echo "Dit is een bestuurslid"; }; |
Nou wil ik weten of er voor MySQL een query op te bouwen is waarbij ik de substr() van PHP direct kan toepassen in het DBveld met rollen.
Ik als enige tot nu toe de methode gevonden waarbij ik dus niet 1 en 0 gebruik maar gewoon de letters.
Bevalt mijn schrijfsel je niet? www.korrelatie.nl