Mailinglisten-Archive |
Hallo Wolfgang, you wrote: >> Hallo >> >> Ich experimentiere gerade mit bit operationen und versuche ein permission >> system zu bauen. Das funktioniert auch recht gut aber wie schreibt man die >> Daten in eine Datenbank? >> Schreibt man die dec oder bin werte in ein Feld und ist es möglich in der >> Datenbank alle Datensätze bzw. User zu suchen die bestimme Rechte haben? >> > Ich will mein Anfrage verdeutlichen, da ich mein Problem nicht wirklich > beschrieben habe. > Also ich habe zum Beispiel 4 Recht > lesen - 1 > ändern - 2 > löschen - 3 > verschieben - 4 > also: > 00000001 > 00000010 > 00000100 > 00001000 > Wenn nun ein User lesen und schreiben darf hat er folgende Nummer: > 3 oder 00000011 > Nun will ich diese Information in einer DB anlegen, soll ich da nun besser 3 > oder den bin Wert speichern? > Mit welcher Art kann ich dann später besser weiterarbeiten? Auch im Hinblick > auf eine Suche aller User mit bestimmten Rechten -> Ich suche also zum > Beispiel alle User die schreiben und löschen dürfen oder alle die nur > schreiben dürfen. Ist das überhaupt möglich und wie realisiere ich die Suche > am besten über SQL? Also ich will nicht zuerst alle Daten aus der DB > auslesen und dann mit PHP verarbeiten sonderen gleich über SQL selektieren. > Ich hoffe jetzt ist es klarer. > Danke > Wolfi mein vorschlag: deine binäre schreibweise entsprechend in eine tabellenstruktur 1:1 umsetzen etwa so: tablename: rechte user verschieben loeschen aendern lesen A 0 0 0 1 B 0 0 1 1 C 0 1 1 1 D 0 0 1 1 das könnte zumindest dein problem mit der suche nach einzelnen (und mehreren) rechten lösen. SELECT user From rechte Where aendern=1 , aendern beinhaltet doch das leserecht? schreiben und löschen: SELECT user From rechte Where löschen=1 , oder gibt´s das recht löschen ohne schreiben? dann: SELECT user From rechte Where (löschen=1 & aendern=1) performance? hmm... friedhelm
php::bar PHP Wiki - Listenarchive