Formulardaten auswerten

  • hallo zusammen,

    denke ihr könnt mir bestimmt weiterhelfen.

    Ich möchte gern Formulardaten die verschiedene Benutzer machen können in einer Tabelle ausgeben und zum schluss addieren.

    so in etwa habe ich mir das vorgestellt.
    http://www.family-project.de/html/solardaten.html

    Weis nur nicht ob es der richtige Weg ist, da ich nicht viel Ahnung davon habe.

    Die Eingaben sollen die einzelnen Benutzer selbst machen können!

    Alternative könnten die Benutzer gleich in die Tabelle schreiben ( Tabelle als Formular ) und der " übernehmen " Button müsste dann den Wert fest in die Zelle schreiben. Dieser müsste dann jedoch erkennen in welcher Zelle gerade geschrieben wurde. Würde das ganze gern mit einer SQL Datenbank lösen. Geht das ?

    Oder gibt es einen einfacheren Weg ?


    danke für eure Hilfe !


    CAT


    [/url]

  • Natürlich geht das ;) .

    Vorweg , die einfachse Lösung wäre es tatsächlich über ein seperates Formular die Daten zu speichern und dann in das Formular / in die Tabelle einzufügen.

    Für deinen Wunsch direkt in die Tabelle zu schreiben und gleichzeitig dynamisch die jeweils richtige Spalte und Zeile zu erkennen musst du definitiv generisch machen, wenn du das hart codierst hast du einen nicht zu tragenden Aufwand. Es gibt neben handgeschriebenen Lösungen auch sogenannte Frameworks ( in Java z.B. JSP, JSF, Icefaces, etc. ) die dir viele Arbeiten mit dynamischen Komponenten abnehmen. Ob es das ganze auf PHP-Basis gibt kann ich dir leider nicht sagen.

    Eine Datenbankanbindung sollte dann am Ende ein kleineres Problem sein ;)

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Das heist die erste Lösung mit Auswahl über Haushalt/Monat wäre die einfachere Lösung. Die einfache Tabelle müsste dann gleich eine Datenbanktabelle sein. Dann müsste man den eingegebenen Wert in Anhängigkeit von Familie und Monat in die richtige Zelle schreiben können!

    richtg so verstanden ?

  • Wenn du das genauso haben möchtest (als 2 dimensionale Tabelle dargestellt) dann würde ich für das Hinzufügen und Ändern auch genau so ein Formular nehmen (zwei auswahllisten und ein Eingabefeld)

    Das mit der Tabelle musst du dir etwas anders zusammenbauen, damit das auch etwas sauberer wird, du hast 3 Tabellen
    Tabelle 1 "Haushalt"
    ID | Haushaltname

    Tabelle 2 "Monat"
    ID | Monatsname

    Tabelle 3 "Inhalt"
    ID | HaushaltsID | MonatsID | Inhalt

    So kannst du das recht sauber verwalten.

    EDIT: du gehst also immer nur über die Primary Keys der Tabellenspalten und nutzt nur für die anzeige den jeweiligen Wert der dahinter steckt ;)

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • ob ich das genauso haben möchte, naja so in etwa. Habe im Moment keine andere Idee um das zu lösen.
    Vielleicht könnte man auch eine Excel Tabelle einbinden, die jeder bearbeiten kann. Diese muss natürlich auf dem Server liegen.

    ich habe jetzt eine Datenbank usr_web413_5 erstellt und darin 3 Tabellen
    Tabelle Haushalt mit 3 Feldern für Meier Müller Schulze
    Tabelle Monat mit 12 Felder von Jan bis Dez
    Tabelle Inhalt mit 36 Felden ( 12 pro Haushalt )

    muss mich da langsam rantasten soweit korrekt ?

    Nehme für meine Seite NOF10 und mit dem selber schreiben von scripten muss ich mich erstmal vertraut machen.

  • Ich persönlich finde eine Exeltabelle hinter ein Script zu hängen ist für einen Anfänger schwieriger, als ne MYSQL.

    Du hast hoffentlich dich bei deiner Ausdruckswahl vertan, du hast nicht 3 Fehlder für Meier Müller Schulze erstellt , sondern nur die Spalten ID | Name, denn du willst ja nicht für jeden User eine neue Spalte anlegen ;)

    Veranschaulichung
    Falsch:
    Tabelle Haushalt
    Spaltennamen : ID | Meier | MÜller | Schulz
    Inhalt ---------: 1 | 1 | 0 | 0

    Richtig
    Tabelle Haushalt:
    Spalte : ID | Name
    Inhalt : 1 | Meier
    Ihnalt : 2 | Müller
    Inhalt : 3 |Schulz

    Sowas nennt man Relationale_Datenbank

    Für das Script wirst du wahrscheinlich php nehmen (Tutorials findest du im gepinnten Thread)

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • ich habe die Datenbank und die tabellen direkt im mysql erzeugt.

    Für einen Laien recht unübersichtlich. Dort erzeuge ich eine Tabelle und habe dann das eingabefeld "Feld" und "Länge", welches auszufüllen sind.

  • Benutze phpMyAdmin zum Anlegen von Datenbanken/Tabellen, das ist einfacher.

  • view.php

    connect.inc.php

    PHP
    <?php
    $dbUser = "root";
    $dbPass = "";
    $dbHost = "localhost";
    $dbName = "test";
    
    
    mysql_connect($dbHost,$dbUser,$dbPass) or die("Keine Verbindung zum Datenbankserver!");  
    mysql_select_db($dbName) or die("Keine Verbindung zur Datenbank");
    ?>

    edit.php

    SQL

    Nicht so toll geworden, weil ich noch weg muss,... aber vielleicht hilfts dir ja ;)
    Wichtig währe noch number_format() einzubauen...

    Gruß crAzywuLf :D

  • puh seit ihr schnell , danke!

    das muss ICH aber erst mal verarbeiten ;)


    also habe die scipte eingebaut. Viel mehr muss es gar nicht sein. Bischen an der Optik der Tabelle feien und dann gut.

    Danke nochmals !

    Das einzige was noch fehlt, wenn man eine Eingabe macht dann springt das script nicht in den Ausgangszustand, man muss erst die Seite neu laden um weitere Eingaben machen zu können.

    Ich habe ja die edit.php und die view.php in eine solar.html per iframe eingbettet.
    leider habe ich dadurch einen weißen Hintergrund, was wie mir scheint auch nicht zu ändern ist. Kann man die beiden Dateien auch ohne iframe auf einer Seite anzeigen lassen ?

    EDIT:

    so habe das Problem mit dem zurücksetzen durch die Verwendung von 2 seiten gelöst. Durch die Passworteingabe muss man sich einfach neu einloggen.

    http://www.family-project.de/html/solardaten.html

    Bleibt nur noch die Hintergrunfarbe ! Hat noch jemand eine IDEE ?

    Einmal editiert, zuletzt von Bad_Cat (27. September 2008 um 19:32)