[MySQL] 'Binair zoeken in records'

Pagina: 1
Acties:

  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 20-05 09:15
Hi,

Voor een applicatie die ik aan het schrijven ben, heb ik een bepaalde groepenstructuur nodig.
In het ontwerp heb ik gekozen voor maximaal 64 soorten groepen, dus 64 bitjes.

Nu is het mogelijk dat een gebruiker rechten heeft voor meerdere groepen, ik zal ff een voorbeeld geven met 4 bitjes:

Bit    Groep
1      Admin
2      P-en-O
3      Sales
4      TD

Dus een gebruiker die adminrechten heeft staat dus met de rechten 1000 
maar de chef TD heeft ook rechten bij P-en-O dus dat wordt dan 0101 
en de Chef sales heeft weer rechten bij sales en P-en-O 0110
terwijl de sales medewerker alleen meer 0010 heeft et cetera....


Hou kan ik nu snel met een query dit opvragen in de database... dus geef mij alle records waarvoor iemand P-en-O rechten heeft....

Anyone an idea??? _/-\o_

* capedro heeft wel gezocht...gerekend... maar heeft geen idee hoe hij dit met de juiste (engelse) keywords in vriend google moest stoppen! }:O

PS modjes als dit geen goed topictitel is pas hem gaarne dan aan.... ik had zelf ook geen idee hoe ik dit onder woorden moest brengen. :+

My weblog


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:55

Creepy

Tactical Espionage Splatterer

In wat voor veld sla je het op? Als dat een integer is, dan kan je je binaire weergave omrekenen naar een decimale weergave en dat gebruiken in je query.

[ Voor 6% gewijzigd door Creepy op 12-07-2004 17:14 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Welke database gebruik je? Of dit mogelijk is hangt van je database af..

Zowieso kan ik je nu al vertellen dat je ontwerp niet goed is. Waarom maak je niet gewoon een aparte tabel met groepen en koppelt die met een many-to-many relatie aan je user-tabel? Is een stuk netter, en lost dit probleem gelijk voor je op.

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 21:37

Super_ik

haklust!

rechten AND 8 = bitje 4, rechten AND 15 is bitje 1,2,3 en 4 enz. puzzel puzzel :P

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
http://dev.mysql.com/tech...s/mysql-set-datatype.html

Dit is volgens mij vrij precies waar jij mee bezig bent. In elk geval staan er wat bitwise (keyword) operatoren in de voorbeelden die jij kan gebruiken.

  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 20-05 09:15
Zowieso kan ik je nu al vertellen dat je ontwerp niet goed is. Waarom maak je niet gewoon een aparte tabel met groepen en koppelt die met een many-to-many relatie aan je user-tabel? Is een stuk netter, en lost dit probleem gelijk voor je op.
Er gaan gegevens komen die voor verschillende groepen te raadplegen moeten zijn... en btw... als je maar een bitje weet van de byte kan je imho niet roepen dat de byte fout is (got my point)
bigbeng schreef op 12 juli 2004 @ 17:14:
http://dev.mysql.com/tech...s/mysql-set-datatype.html

Dit is volgens mij vrij precies waar jij mee bezig bent. In elk geval staan er wat bitwise (keyword) operatoren in de voorbeelden die jij kan gebruiken.
Dat zocht ik :) Thnx

My weblog


Verwijderd

Hm, is wel handig bedacht met die bitjes etc., echter voor onderhoud (code) etc. is het niet echt overzichtelijk, er zijn hier een aantal draadjes over hier op GoT, ik ben zelf nogal voorstander van het model om rechten per groep te geven, en dan gebruikers aan 1 of meerdere groepen te koppelen via een koppeltabel.

  • it0
  • Registratie: April 2000
  • Laatst online: 27-12-2025

it0

Mijn mening is een feit.

Pagina: 1