Hallo,
ich programmiere gerade ein Umfragenscript mit PHP und brauche nun den SQL-Befehl, der mir die Umfrage anzeigt. Das gestaltet sich als ein Wenig kompliziert, da 3 Tabellen daran beteiligt sind. Die Tabellenstruktur sieht so aus, dass ich eine Tabelle "umfragen" habe, in der die Frage inkl. einer ID gespeichert sind, sowie das Datum, wann die Umfrage ausläuft. Dann habe ich noch eine Tabelle "antworten" in der die möglichen Antworten inkl. der bisherigen Votes für die Antwort gespeichert sind, die über die Umfragen-ID den Umfragen zugeordnet werden können. Und dann gibt es noch die Tabelle "votes" in der die User gespeichert sind, die an einer Umfrage teilgenommen haben. Nun brauch ich den Befehl, der die Umfrage ausliest. Dies soll in folgender Form geschehen:
1. Die neueste Umfrage zuerst
2. Nur Umfragen anzeigen, dessen Enddatum noch nicht erreicht ist
3. Nur Umfragen, die der User noch nicht beantwortet hat (User-ID ist in $_SESSION['uid'] gespeichert
4. Sollte die neueste Umfrage bereits beantwortet worden sein von dem eingeloggten User die zweitneueste, usw.
5. Sollte der User nicht eingeloggt sein, oder alle aktiven Umfragen bereits abgeschickt haben, das Ergebnis der aktuellsten Umfrage auslesen
Dabei ist zu beachten, dass die Frage immer angezeigt werden muss und die Antworten bzw. Ergebnisse auch. Außerdem möchte ich dies in einer Funktion machen, sodass es am besten wäre wenn das ganze als Array gespeicert wird, bei dem der Index 0 für die Frage steht, alle weiteren bei der Frage ein Array aus Antwort-ID und der eigentlichen Antwort sind, beim Ergebnis ein Array aus der Antwort und den Votes für diese Antwort. Für die Anzeige ist ebenfalls wichtig, dass ich weiß, ob das die Frage mit Antwortmöglichkeit oder das Ergebnis ist.
Ich hoffe ich habe es einigermaßen klar ausgedrückt und mir kann jemand helfen...
mfg
Gsus
ich programmiere gerade ein Umfragenscript mit PHP und brauche nun den SQL-Befehl, der mir die Umfrage anzeigt. Das gestaltet sich als ein Wenig kompliziert, da 3 Tabellen daran beteiligt sind. Die Tabellenstruktur sieht so aus, dass ich eine Tabelle "umfragen" habe, in der die Frage inkl. einer ID gespeichert sind, sowie das Datum, wann die Umfrage ausläuft. Dann habe ich noch eine Tabelle "antworten" in der die möglichen Antworten inkl. der bisherigen Votes für die Antwort gespeichert sind, die über die Umfragen-ID den Umfragen zugeordnet werden können. Und dann gibt es noch die Tabelle "votes" in der die User gespeichert sind, die an einer Umfrage teilgenommen haben. Nun brauch ich den Befehl, der die Umfrage ausliest. Dies soll in folgender Form geschehen:
1. Die neueste Umfrage zuerst
2. Nur Umfragen anzeigen, dessen Enddatum noch nicht erreicht ist
3. Nur Umfragen, die der User noch nicht beantwortet hat (User-ID ist in $_SESSION['uid'] gespeichert
4. Sollte die neueste Umfrage bereits beantwortet worden sein von dem eingeloggten User die zweitneueste, usw.
5. Sollte der User nicht eingeloggt sein, oder alle aktiven Umfragen bereits abgeschickt haben, das Ergebnis der aktuellsten Umfrage auslesen
Dabei ist zu beachten, dass die Frage immer angezeigt werden muss und die Antworten bzw. Ergebnisse auch. Außerdem möchte ich dies in einer Funktion machen, sodass es am besten wäre wenn das ganze als Array gespeicert wird, bei dem der Index 0 für die Frage steht, alle weiteren bei der Frage ein Array aus Antwort-ID und der eigentlichen Antwort sind, beim Ergebnis ein Array aus der Antwort und den Votes für diese Antwort. Für die Anzeige ist ebenfalls wichtig, dass ich weiß, ob das die Frage mit Antwortmöglichkeit oder das Ergebnis ist.
Ich hoffe ich habe es einigermaßen klar ausgedrückt und mir kann jemand helfen...
mfg
Gsus