php/html: Zusammenfassung am Ende einer Umfrage

Dieses Thema: "php/html: Zusammenfassung am Ende einer Umfrage" im Forum "Ruby, php, Perl, Python ..." wurde erstellt von rikola, 17.12.2005.

  1. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Hallo,

    ich habe mal wieder eine Frage zu php/html:

    ich verwalte eine Umfrage, bei der ueber mehrere Seiten/php-Dateien hinweg Formulare ausgefuellt und in eine mysql-Datenbank eingetragen werden.

    Nun soll am Ende eine Zusammenfassung aller Antworten angezeigt werden. Meine Frage nun:
    Gibt es eine halbwegs automatische Moeglichkeit, diese Seite zu erstellen, oder muss ich die Ergebnisse zwischenspeichern / wieder aus der Datenbank holen und die Seite (sagen wir mal, summary.php) am Ende damit auffuellen? Damit muesste ich auch alle Fragen wiederholen bzw. in die summary.php eintragen.

    Fuer den Fall, dass die Seite 'von Hand' erstellt werden muss: Kann ich sie nach und nach auffuellen, d.h., die Variablen nach abschicken jeder Seite eintragen lassen, oder sollte ich fuer jede Frage (insgesamt 44) eine $_SESSION[...] erstellen, die ich am Ende alle abfrage? Oder waere es einfacher, die Daten wieder aus der Datenbank zurueckzuholen?

    Ich hoffe, meine Fragestellung ist nicht zu chaotisch, aber ich waere dankbar fuer alle Vorschlaege und Kommentare.

    Vielen Dank!
     
  2. dmaphy

    dmaphy Routinier

    Dabei seit:
    16.04.2004
    Beiträge:
    482
    Zustimmungen:
    0
    Ort:
    Hamburg
    das mit der session ist doch ein guter ansatz. :)
    du solltest dabei aber bedenken, dass $_SESSION letztendlich auch nur ein assoziatives array ist, welches du mit foreach prima und ohne grossen aufwand durchgehen kannst.
     
  3. sono

    sono Sack Flöhe Hüter

    Dabei seit:
    31.01.2004
    Beiträge:
    1.299
    Zustimmungen:
    0
    Ort:
    http://webfrap.de
    Erstelle nen array und schreib den dann in die Session.

    Dann kannst du in jedem Formular den array aus der Session holen neue Werte hinzufügen und dann das ganze wieder in die Session hauen.

    Da man meist auch andere Sachen in die Session schreiben will als nur Daten von einem einzigen Formular ist es vielleicht etwas ungeschickt die Session selbst als Array zu missbrauchen und dann mit foreach auszuwerten.

    Wenn du etwas mehr Ahnung hast kannst du dir auch ne Klasse schreiben , eine Objekt der Klasse in die Session laden und dann alles über die Klasse abwickeln.

    Zur Not würden Temporäre Dateien auch gehen ist aber etwas Umständlicher und Zwackt an der Performace, weil Zugriff auf Platte immer Langsamer ist als in den Speicher.

    Also entweder nen Array in die Session oder eine Klasse schreiben .

    Gruß Sono
     
  4. #4 nidamico, 18.12.2005
    nidamico

    nidamico nidamico

    Dabei seit:
    22.08.2005
    Beiträge:
    39
    Zustimmungen:
    0
    Session

    Guten Abend,

    ich würde dir auch sehr empfehlen das Problem mit einer Session zu lösen.
    Am besten startest du eine neue Session auf der Start-Seite und fütterst diese mit den Eingaben. Am Schluss kannst du ein Script machen, das die Session ausgiebt (z.B. mit einer for-Schleife) und dazu die Daten in die MySQL-DB abspeichert.
    Das wäre die sauberste und eleganteste Lösung, die man so in PHP oder andere Web-Applikationen (z.B mit Java) braucht.

    ACHTUNG: Du musst aufpassen, ob dein Server / Host das Öffnen einer Session erlaubt. Wenn du nicht sicher bist oder sogar weisst, dass es nicht geht musst du dich beim Administrator melden.

    Viel Spass beim Pröbeln! =c)
    nidamico
     
  5. #5 luusbueb, 18.12.2005
    luusbueb

    luusbueb unverhofft kommt oft

    Dabei seit:
    16.12.2005
    Beiträge:
    54
    Zustimmungen:
    0
    Ort:
    CH - Schaffhausen
    Hidden

    Hi rikola

    Die Lösung mit dem Array und den Sessions ist sicher die effizienteste.
    Wenn du jedoch mit PHP nicht so bewandt bist, empfehle ich dir eine andere Lösung:

    Gib deine Antworten in "hidden fields" weiter. Hidden fields sind versteckte Formular-Felder:
    Code:
    <input type="hidden" name="frage1" value="antwort_x" />
    Praktisch heisst das, dass du auf der 2. Frage-Seite ein hidden field für die Frage 1 hast, auf der 3. Frageseite 2 hidden fields (für die Antwort von Frage 1 und Frage 2).

    Auf deiner Letzten Seite kannst du dann alle Daten aus den POST-vars rausholen.

    Ich hoffe, du bist bei meinen Erklärungsversuchen drausgekommen. Wenn du noch weitere Hilfe dazu brauchst.. melde dich ruhig!

    Viel Glück! :) :))
     
  6. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Hallo an alle,

    vielen Dank fuer Eure Vorschlaege. Eine Session wird in dem Fragebogen bereits gestartet, daher werde ich es damit versuchen. Klassen ausserhalb von C++ sind mir nicht ganz geheuer, die werde ich erstmal lassen.

    Danke nochmals!
     
Thema:

php/html: Zusammenfassung am Ende einer Umfrage

Die Seite wird geladen...

php/html: Zusammenfassung am Ende einer Umfrage - Ähnliche Themen

  1. Kurzzusammenfassung der Befehle und Progr. für die shell

    Kurzzusammenfassung der Befehle und Progr. für die shell: Hallo zusammen, bei der Verbesserung eines meiner Scripte bin ich nach ausführlicher Recherche auf den Befehl (Prog?) "file" gestossen. Dieser...
  2. Verzeichniss kb-zusammenfassung

    Verzeichniss kb-zusammenfassung: Hallo ich suche einen Befehl welche mir eine Grössen-Zusammenfassung der Verzeichnisse anzeigt. zb: ls -lisa /var/www zeigt mir alle...
  3. Textzusammenfassungen

    Textzusammenfassungen: Hallo Forum, kennt jemand ein Tool mit dem ich per Kommandozeile, java oder Php Textzusammenfassungen erstellen kann?
  4. Kleine Wlan Chip zusammenfassung

    Kleine Wlan Chip zusammenfassung: Hi fein wehre doch mal ne liste mit Zusammenfassungen welche WLAN Karten/sticks unter Linux gut laufen. in etwar so: Pcmcia: Karte:...
  5. Suche zusammenfassung von Iptablesregeln gegen bekannte Angriffe

    Suche zusammenfassung von Iptablesregeln gegen bekannte Angriffe: Ich hab diese Frage schon auf nem anderen Board gestellt , aber da dort die letzen Tage nichts passiert ist versuche ich es mal ob hier jemand...