Hallo zusammen,
Ich suche eine bessere Variante für ein Statistikformular.
Ich habe eine Statistik, die einmal im Monat (normalerweise am Monatsanfang - aber das spielt keine Rolle) von Hand eingetragen wird. Hierzu gibt es eine select-bar zum auswählen des gewünschten Benutzers. Da es in meinen Augen aber zu nervig ist, nach jedem Eintrag wieder im select zum Usernamen zu scrollen, dachte ich mir, es müsste doch möglich sein die so zu gestalten das nur solche Usernamen dort aufgelistet werden die zum entsprechenden Monat noch keinen Statistikeintrag haben.
Soweit so gut.., ich grübelte also und bastelte mir etwas sehr seltsames zusammen was ansich auch funktioniert. Problem ist nur, dass es in meinen Augen viel zu viel Aufwand dafür ist, dass müsste doch auch kürzer gehen (ggf. sogar mit einem einzigen Query?)
Tabellen (gekürzt auf die notwendigen Inhalte):
members
------------
- userid
- username
statistik
-----------
- userid (userid aus tabelle members)
- monat
- jahr
So..,
als erstes setze ich einen Query auf members in dem ich userid und username abfrage und diese in jeweils einem array zwischenspeichere.
als zweites setze ich einen Query auf statistik ab, in dem ich alle vorhandenen userids zum aktuellen monat abfrage und diese auch in einem array zwischenspeichere.
im dritten schritt dann vergleiche ich die arrays und lasse mir nur jene Usernamen ausgeben, die zweiten userid-array nicht vorhanden sind.
Das ganze ist irgendwie viel kürzer beschrieben als es codezeilen hat *lach* .. Wie dem auch sei, ist ein solcher Vergleich über 2 Tabellen mit Bedingungen auch in einem einzigen Query möglich sodass ich auf dieses array-gebastel verzichten kann?
Ggf. falsches Sub, aber vll. gibt es auch eine php-variante das besser/anders zu lösen.
Gruss & Danke
Ich suche eine bessere Variante für ein Statistikformular.
Ich habe eine Statistik, die einmal im Monat (normalerweise am Monatsanfang - aber das spielt keine Rolle) von Hand eingetragen wird. Hierzu gibt es eine select-bar zum auswählen des gewünschten Benutzers. Da es in meinen Augen aber zu nervig ist, nach jedem Eintrag wieder im select zum Usernamen zu scrollen, dachte ich mir, es müsste doch möglich sein die so zu gestalten das nur solche Usernamen dort aufgelistet werden die zum entsprechenden Monat noch keinen Statistikeintrag haben.
Soweit so gut.., ich grübelte also und bastelte mir etwas sehr seltsames zusammen was ansich auch funktioniert. Problem ist nur, dass es in meinen Augen viel zu viel Aufwand dafür ist, dass müsste doch auch kürzer gehen (ggf. sogar mit einem einzigen Query?)
Tabellen (gekürzt auf die notwendigen Inhalte):
members
------------
- userid
- username
statistik
-----------
- userid (userid aus tabelle members)
- monat
- jahr
So..,
als erstes setze ich einen Query auf members in dem ich userid und username abfrage und diese in jeweils einem array zwischenspeichere.
als zweites setze ich einen Query auf statistik ab, in dem ich alle vorhandenen userids zum aktuellen monat abfrage und diese auch in einem array zwischenspeichere.
im dritten schritt dann vergleiche ich die arrays und lasse mir nur jene Usernamen ausgeben, die zweiten userid-array nicht vorhanden sind.
Das ganze ist irgendwie viel kürzer beschrieben als es codezeilen hat *lach* .. Wie dem auch sei, ist ein solcher Vergleich über 2 Tabellen mit Bedingungen auch in einem einzigen Query möglich sodass ich auf dieses array-gebastel verzichten kann?
Ggf. falsches Sub, aber vll. gibt es auch eine php-variante das besser/anders zu lösen.
Gruss & Danke
Kommentar