Problem beim Validieren über mehrere Möglichkeiten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abteilungsleiter
arbeiter
attribut
beispiel
einnehmen
eintragen
ende
person
praktikant
problem
qualifikation
regel
rolle
schalter
schritt
stehen
student
system
termin
wissen
-
Moin moin,
ich hab da ein verzwicktes kleines Problemchen ;)
Ich habe einige User, die 2 Attribute tragen, die für mein Problem relevant sind.
Das eine ist qual_m und das andere ist qual_f.
In diesen Attributen stehen 2 Qualifikationen die der User hat.
Die Qualifikationen von qual_m und qual_f unterscheiden sind.
Innerhalb einer Qualifikation gibt es aber Hierarchien.
Zum Beispiel:
qual_m kann zum Beispiel sein:
1. Praktikant
2. Student
3. Arbeiter
4. Abteilungsleiter
5. Geschäftsführer
qual_f kann zum Beispiel sein:
1. Verkäufer
2. Profiverkäufer
3. Masterverkäufer
(Die Nummern sind jeweils in den User-Attributen referenziert)
Nun ist es so, dass ich Termine habe, zu denen sich User nur dann eintragen können, wenn sie eine der beiden Qualifikationen so weit erfüllen, wie sie erforderlich ist.
Habe ich Beispielsweise einen Termin, zu dem ein Student muss, dann soll ein Benutzer, der Praktikant ist, keine Möglichkeit haben, sich zu melden.
Ein Student soll dies natürlich können, genauso wie der Arbeiter, der Abteilungsleiter und der Geschäftsführer, da diese über dem Studenten stehen.
Mein Hauptproblem ist nun: wie finde ich heraus, ob ALLE Qualifikationen in einem Termin besetzt wurden?
Wenn ich zum Beispiel ein Termin habe, zu dem 3 Arbeiter, 1 Abteilungsleiter, 1 Masterverkäufer und 2 Verkäufer sollen,
dann gilt der Termin als erfüllt, wenn genau diese Personen sich eintragen, aber auch, wenn sich 2 Abteilungsleiter und 1 Arbeiter, sowie 3 Masterverkäufer eintragen.
Das gemeine ist nun, dass ein User sowohl Masterverkäufer als auch Praktikant sein kann, aber in diesem Termin nicht beide Stellen wahrnehmen kann, und das System ihn so einsetzen soll, dass der Termin nach Möglichkeit gültig wird. Ich muss nicht wissen, wie das System wen einteilt, sonder ich brauche NUR das Endergebnis: Gültig oder nicht gültig.
Ich hoffe, mein Problem konnte ich hier angemessen schildern :/
Ich habe keine Ahnung, wie ich da herangehen soll :/ -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hallo
wie wäre es, wenn kein User zwei Rollen annehen darf.
Wenn eine Person zwei (oder mehr) Rollen hat, dann braucht er eben auch 2 User-Accounts, je Rolle
oder es gibt so ne Art Unter-Accounts für Rollen, die ein User belegen kann (Gruppen)
aber das ist alles nur ins Blaue hinein, solange wir nicht wissen, wie deine Prüfung ob valide aussieht (Code)
hast Du evtl ein Codeschnipsel, evtl kann man dann einen "Denkfehler" erkennen -
lass, die personen doch selber entscheiden für welche rolle sie sich eintragen, ansonsten
hätte ich jetzt nur noch die Idee, das du eine Regel formulierst, wann ein User Welche Rolle annimmt.
z.B. kann User 1 die Rollen Masterverkäufer und Praktikant haben, nun wird er erstmal für das erste, also Masterverkäufer, eingetragen.
Nun kommt User 2 der die rollen Masterverkäufer und Abteilungsleiter hat, jedoch ist für die Abteilungsleiter schon alles belegt, du weißt aber, das ein Praktikanten Platz noch frei ist und nun muss deine Regel eintreten, in der du Definierst, das User 1 nun die Rolle des Praktikanten einnehmen soll, sodass User 2 die Rolle des Masterverkäufers einnehmen kann und auch an den Termin teilnehmen kann.
Zumindestens hätte ich jetzt an sowas gedacht, das ganze ist aber denke ich sehr aufwendig, da verschiedene Faktoren abgewogen werden müssen. Denn es wäre eher ein Suchalgorithmus in dem du die bestmögliche einteilung suchst.
Beitrag zuletzt geändert: 5.3.2011 18:21:34 von excision -
Ja, an genau sowas habe ich auch gedacht.
Es geht mir auch nicht darum, welcher User welche Rolle einnimmt, sondern nur, dass alle Rollen passend oder besser besetzt werden.
Es geht mir nur darum, zu zeigen, ob ein Termin voll besetzt oder noch Lückenhaft ist. -
also, mich würde dsa ganze auch mal interessieren wie man sowas am besten verwirklicht, ich habe auch schon einen kleinen ansatz dafür.
Und zwar:
man nimmt alle vorhandenen Rollen und geht schritt für schritt durch und immer wenn der wert true (oder ein äquivalenter Wert) zurück gegeben wird, wird der gesondert gespeichert oder direkt so abgespeichert.
ich habe sowas ähnliches schon mal mit C für einen einfachen Stromkreislauf programmiert, der viele Schalter in reihe und Parallel hat.
Dabei geht er auch schritt für schritt durch und stellt den schalter entweder auf 1 (geschlossen) oder 0 (offen), und dann einfach eine if abfrage am ende ob ein wert True (also 1) oder False ( also 0) rauskommt und das dann jegliche Schalterstellungen in der Eingabeaufforderung aus geben lassen die die Lampe am ende Leuchten lies.
Wenn du willst können wir uns gerne zusammen an diese funktion dafür setzten, würde mich echt interessieren wie man das am besten realisiert. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage